Course Data

Course name: Threads and Processes in Python
Course length: 1 day
Remote: Yes
Open course: No
In-house: Yes
Course ID: TPE
German course here

Combining Topics

Company courses allow to assemble trainings combining topics from different courses.

Course Topics Overview as PDF

You can download our flyer. It has an overview of all our course topics.

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 and Processes

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

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 materials in PDF format that cover the whole course content as well as all source code.

How to contact us:
Python Academy & Co. KG
Zur Schule 20
04158 Leipzig / Germany
Tel:+49 341 260 3370
Fax:+49 341 520 4495
mail:info@python-academy.de
How to contact us:
Python Academy & Co. KG
Zur Schule 20
04158 Leipzig / Germany
Tel:+49 341 260 3370
Fax:+49 341 520 4495
mail:info@python-academy.de