Concurrency in Python: Threads, Processes, and Asyncio
Python’s concurrency model can be confusing—threads, processes, async… which one to use? This talk breaks down concurrency concepts, explains the GIL, and shows how to work around it. You’ll learn when to use threads, processes, or asyncio to write efficient, scalable Python applications.
- timeslot: Monday, 7th April 2025, 9;00-10:00 Room B
- tags: other
Python offers multiple concurrency models, but choosing the right one can be tricky. This talk will demystify concurrency concepts, clarify terminology, and explore different approaches: threads, processes, and asynchronous programming with asyncio
.
We’ll discuss when to use threads vs. processes, how the Global Interpreter Lock (GIL) impacts concurrency, and techniques to work around it. Finally, we’ll dive into asyncio
, understanding how it enables efficient I/O-bound concurrency. Through code examples and real-world scenarios, you’ll gain a solid grasp of Python’s concurrency landscape and learn how to make informed design choices.
Audience Level: Intermediate Python developers
Prerequisites: Familiarity with Python basics, functions, and classes. No prior concurrency experience required.
Fabian is a software engineer at Sentry, focusing on web interfaces using Python and Django. Previously, he worked in geospatial software, developing solutions for accessing satellite imagery. He helps organize the local PyLadies chapter, conducts workshops, and mentors. He is particularly interested in language details, performance optimization, and Python's interoperability with other programming languages.
