PYTHON ACADEMY
Training & Consulting

Modul - Threads und Prozesse in Python

Motivation

Mit Threads ist es möglich mehrere Programmstränge parallel auszuführen. Damit eröffnen sich neue Möglichkeiten der Programmentwicklung. Anderseits werden Programme komplexer. Python nutzt die jeweilige Implementierung des Betriebssystems und bietet damit portable Threads.

Kursinhalt

Thread-Grundlagen

Die Möglichkeiten der Nutzung von Threads in Python werden behandelt. An einem Beispiel wird die Funktionsweise des Moduls threading dargestellt.

GIL

In Python gibt es das sogenannte General Interpreter Lock (GIL), das verhindert, dass mehrere Threads wirklich gleichzeitig ausgeführt werden. Die Auswirkungen auf die Programmierpaxis werden an Beispielen erläutert.

Thread-Synchronisation

Die Synchronisation zwischen Threads ist ein wichtiger Teil der Threadprogrammierung. Bei gleichzeitigem Zugriffen mehrer Threads auf die gleichen Ressourcen muss sichergestellt werden, dass die Daten nicht zufällig manipuliert werden. Dazu müssen Ressourcen für die Zeit der Manipulation durch einen Thread durch diesen für den Zugriff durch andere Threads gesperrt (gelockt) werden.

Im Kurs wird die Synchronisation mit einem Beispiel erläutert. Besonderes Augenmerk wird dabei die Vermeidung von so genannten Deadlock-Situationen gelegt, bei denen sich Threads gegenseitig blockieren und so die Ausführung des Programms anhalten.

Prozesse

Python bietet eine Reihe von Möglichkeiten externe Prozesse zu erzeugen und auf diese zuzugreifen. Diese Möglichkeiten werden mit Beispielen erarbeitet.

Kombination von Threads und Prozessen

Durch die Kombination von Threads und Prozessen wird es möglich, Programme parallel auszuführen und auf Mehrprozessor-Maschinen ggf. Geschwindigkeitsvorteile zu erreichen. Mit einem Beispiel wird die Wirkung der Kombination verdeutlicht.

Moduldauer

0,5 Tage

Ablauf

Die Teilnehmer können alle Arbeitsschritte direkt auf ihrem Computer nachvollziehen. Am Ende jedes Themas können sie das erworbene Wissen durch praktische Übungen festigen.

Kursmaterialien

Jeder Teilnehmer erhält ausführliche Kursunterlagen mit ausformulierten Beschreibungen der Kursinhalte und eine CD mit allen verwendeten Quelltexten und genutzter Software.

Zielgruppe

Programmierer mit Pythongrundkenntnissen oder Kombination mit Grundkursen (siehe Empfohlene Modul-Kombinationen).

Empfohlene Modul-Kombinationen

Im Modul Netzwerkprogrammierung mit Python werden Themen behandelt, die inhaltlich an die Themen dieses Moduls anschließen.

Das Modul kann mit den Kursen Python für Nichtprogrammierer oder Python für Programmierer kombiniert werden.


Home
News
Kurse
Offene Kurse
Firmenkurse
Django
XML
Sommerkurs
Summer Course
Nichtprogrammierer
Programmierer
Wissenschaftler
Spezialthemen
Erweiterungen
Optimierung
Windows
Threads
Netzwerk
Entwurfsmuster
WxPython
IronPython
Termine
Preise
Consulting
FAQ
Schulungszentrum
User Group
Stellenbörse
Workshop
Veranstaltungen
Python
Referenzen
Veröffentlichungen


Kundenstimmen


We had a wide range of Python experience in our group and each person gained something valuable to take away....

Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zürich, Schweiz mehr dazu ...


Den Kurs kann ich bedingungslos allen empfehlen, die innert kurzer Zeit zu einer produktiven Arbeit mit Python kommen wollen.
Dr. med. Beat Meister, Bern mehr dazu ...


The standard Python for programmers and the customized "Python for Experts" course where a great success. ...
Bart Hillaert, Alcatel-Lucent Belgien mehr dazu ...


[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ...

Dorota Jarecka, University of Warsaw about the course "Python for Scientists and Engineers" mehr dazu ...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...
Dr. Mihai Duta, Oxford Supercomputing Centre mehr dazu ...


Sehr gute Einführung in die Programmiersprache ...
Matthias Enderle mehr dazu ...



News


Nächster Pythonstammtisch am 10. August 2010
mehr dazu ...


Kurs "Python Summer Course" (Englisch), 16. - 21. August 2010
details ...


Kurs "Python for Programmers" (Englisch), 16. - 18. August 2010
details ...


Kurs "Python for Scientists and Engineers (Englisch)", 19. - 21. August 2010
details ...


Kurs "Django Python Web-Framework", 23. - 25. August 2010
details ...


Kurs "Python für Programmierer", 17. - 19. September, 2010
details ...


News-Archiv

[Powered by rest2web]

[Python Powered]