Overview
Explore race conditions in concurrent programming and learn effective strategies to test and manage them in this 44-minute conference talk from EuroPython 2022. Dive into the challenges of working with threads, processes, and workers, and discover when implicit concurrency management falls short. Learn to craft critical sections carefully, avoiding deadlocks, and test programs with manufactured race conditions. Examine a server program called in parallel by multiple clients to illustrate common issues. Gain practical knowledge of Python standard library tools for handling race conditions, enabling you to exercise and counter them in your own projects. Cover topics including singletons, location APIs, concurrency basics, flag propagation, barriers, and various solution approaches.
Syllabus
Intro
Singletons
Location API
Concurrency
Race conditions
Running the code
The problem
Python tools
Flag propagation
Barriers
Steps
Solutions
Other solutions
Conclusion
Taught by
EuroPython Conference