Fabian Schindler
Concurrency in Python
#1about 4 minutes
Defining concurrency, parallelism, and multitasking
Key terms like concurrency, parallelism, cooperative multitasking, and preemptive multitasking are defined to build a foundational understanding.
#2about 3 minutes
Weighing the benefits and complexity of multitasking
Multitasking can improve performance and reduce costs, but it introduces complexity, non-determinism, and is limited by Amdahl's Law.
#3about 5 minutes
Understanding the differences between processes and threads
Processes are isolated with higher overhead, while threads are lightweight and share memory, with examples using Python's `threading` and `multiprocessing` modules.
#4about 1 minute
Simplifying concurrency with executor pools
The `concurrent.futures` module provides a high-level interface with `ThreadPoolExecutor` and `ProcessPoolExecutor` to easily apply a function to multiple data items.
#5about 5 minutes
How to prevent data corruption with locks
Race conditions occur when multiple threads access shared data simultaneously, which can be prevented by using a mutex or `threading.Lock` to ensure exclusive access.
#6about 2 minutes
How Python's global interpreter lock affects multithreading
The GIL is a mutex that protects access to Python objects, preventing multiple native threads from executing Python bytecodes at the same time and impacting CPU-bound tasks.
#7about 4 minutes
Overcoming thread limitations with event-driven programming
The C10k problem highlights the inefficiency of a thread-per-client model, leading to event-driven solutions like asynchronous programming to handle many concurrent connections.
#8about 5 minutes
Writing concurrent code with async and await
Python's `async` and `await` keywords enable cooperative multitasking, allowing you to run many tasks concurrently on a single thread using an event loop from the `asyncio` module.
#9about 2 minutes
Building high-performance web services with Starlette
The Starlette web framework demonstrates how `asyncio` can be used to build highly concurrent web servers capable of handling many clients efficiently.
#10about 2 minutes
Q&A on Python's speed and choosing thread counts
Answers to common questions address Python's perceived slowness by working around limitations like the GIL and explain that benchmarking is key to finding the optimal number of threads.
Related jobs
Jobs that call for the skills explored in this talk.
envelio
Köln, Germany
Remote
Senior
Python
Software Architecture
Matching moments
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
04:09 MIN
How Python became the dominant language for AI
AI in the Open and in Browsers - Tarek Ziadé
01:32 MIN
Organizing a developer conference for 15,000 attendees
Cat Herding with Lions and Tigers - Christian Heilmann
03:55 MIN
The hardware requirements for running LLMs locally
AI in the Open and in Browsers - Tarek Ziadé
02:44 MIN
Rapid-fire thoughts on the future of work
What 2025 Taught Us: A Year-End Special with Hung Lee
03:16 MIN
The importance of client-side encryption for AI features
AI in the Open and in Browsers - Tarek Ziadé
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
08:40 MIN
Integrating AI into Firefox while respecting user privacy
AI in the Open and in Browsers - Tarek Ziadé
Featured Partners
Related Videos
Accelerating Python on GPUs
Paul Graham
Concurrency with Go
Frank Müller
The Eventloop in JavaScript - How does it work?
Christian Woerz
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
CUDA in Python
Andy Terrel
Coroutine explained yet again 60 years later
Mikhail Maslo
Multithreading in Javascript: A guide to Web Workers
Dani Coll
Related Articles
View all articles

.gif?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.

SOURCE GmbH
Wiesbaden, Germany
€65-75K
Senior
Python


Patronus Group
Berlin, Germany
Senior
Kotlin
Spring Boot
Amazon Web Services (AWS)


UNITY AG
Lippstadt, Germany
Azure
Julia
Python
FastAPI
Amazon Web Services (AWS)

Client Server
Charing Cross, United Kingdom
Remote
£80-90K
Azure
Python
FastAPI
+4



jumoca by Julian Caspary
Appenweier, Germany
Remote
€45-60K
Python
TypeScript