PYTHON ACADEMY
Training & Consulting

Module - Threads and Processes in Python

Motivation

Threads allow the simultaneous execution of several program paths. This opens new possibilities for program development. On the other hand, programs become more complex. Python uses the native thread implementation of the operating system and offers a unified API therefore offers platform-impendent threaded programming.

Course content

Thread Basics

The possibilities for threads in Python are shown. An examples is used to demonstrate how the module threading works.

GIL

Python has a so called General Interpreter Lock (GIL) that prevents several threads to run in real parallel on multi-CPU hardware. The implications of the GIL on programming are covered.

Thread Synchronization

Synchronization of threads is a important part of thread programming. Random manipulations of data has to be avoided when two threads access the same data at the same time. To achieve this data need to be locked by one thread providing exclusive access for this period of time.

Examples are used to explain the principles of locking. Special focus is put on so called dead-lock situations where threads block each other from executing and bring the program to a halt.

Processes

Python provides several ways to launch and access external processes. These ways are introduced with examples.

Combination of Threads und Processes

The combination of threads and processes allows to run programs in parallel using the advantages of multi-processor machines possibily gaining speedups. An example is used to demonstrate the effect of such combinations.

Module Duration

0.5 days

Exercises

The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells as a CD with all source codes and used software.


Home
Python
News
Courses
Open Courses
Company Courses
Cheminformatics
Summer Course
Non-Programmers
Programmers
Scientists
Optimizing and Extending
Special Topics
Extensions
Optimizing
Windows
Threads
Network
Patterns
WxPython
IronPython
Dates
Prices
Consulting
FAQ
Training Center
User Group
Jobboard
Workshop
Events
References


What customers say ...


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 Zurich, Switzerland more ...


I can absolutely recommend this course to everybody who wants become productive with Python very quickly. ...

Dr. med. Beat Meister, Bern, Switzerland more ...


The standard Python for programmers and the customized "Python for Experts" course where a great success. ...

Bart Hillaert, Alcatel-Lucent Belgium more ...


[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" more ...


The course "Python for Scientists and Engineers" is a very useful introduction to Python programming for scientific applications ...

Dr Mihai Duta, Oxford Supercomputing Centre more ...


Very good introduction to the programming language.

Matthias Enderle, freelancer programmer more ...



News


Course "Python für Programmierer" (German), September, 17 - 19, 2010
details ...


Next Meeting of Leipzig Python User Group, September 21, 2010
details ...


Course "Python für Programmierer" (German), November, 10 - 12, 2010
details ...


Kurs "Django Python Web-Framework" (German), November 29 - Dezember 1, 2010
details ...


[Powered by rest2web]

[Python Powered]