Concurrency in the Late-Night Kitchen
·
Course overview
1
The first night's queue: concurrency and parallelism
2
Hiring more cooks: threading basics
3
The chalkboard is wrong: race conditions and Lock
4
Only three burners: synchronization tools
5
Knives and boards: deadlock
6
The ticket rail: queue
7
Agency cooks: concurrent.futures
8
Why the dough won't go faster: the GIL and parallelism
9
One floor manager for every table: first steps in asyncio
10
The group booking falls through: structured concurrency
11
The floor freezes: blocking calls and mixing tools
12
The critic's night: putting it all together
Become the new sous-chef at the late-night diner Dongsi and learn threading, multiprocessing and asyncio over twelve services, watching every task on a live kitchen timeline. A 10-hour course.
0:00–0:50
The first night's queue: concurrency and parallelism
0:50–1:40
Hiring more cooks: threading basics
1:40–2:30
The chalkboard is wrong: race conditions and Lock
2:30–3:20
Only three burners: synchronization tools
3:20–4:10
Knives and boards: deadlock
4:10–5:00
The ticket rail: queue
5:00–5:50
Agency cooks: concurrent.futures
5:50–6:40
Why the dough won't go faster: the GIL and parallelism
6:40–7:30
One floor manager for every table: first steps in asyncio
7:30–8:20
The group booking falls through: structured concurrency
8:20–9:10
The floor freezes: blocking calls and mixing tools
9:10–10:00
The critic's night: putting it all together
At the end of an alley in Mangwon-dong, Seoul, there is a small place whose lights come on at ten at night. The sign says Dongsi, a late-night diner. Its owner, Chef Yoon Seoyeon, spent twenty years building servers as a backend developer, and she still talks about her kitchen that way: "A kitchen is a program."
As of tonight, you are the new sous-chef. Over twelve services in the diner's first month, this 10-hour course teaches you the three Python tools for doing several things at once:
threading: put more cooks in the kitchen.multiprocessing (and concurrent.futures): open more kitchens.asyncio: one person gets other work done while waiting.| Who | What they do |
|---|---|
| Chef Yoon Seoyeon | Owner and head chef. Wears a timer around her neck. Hands you a ticket every night and leaves a recipe card at closing. |
| Minho | Line cook. Fast, but careless. |
| Sua | Line cook. Meticulous. |
| Mr. Tak | Line cook. Slow, but never makes a mistake. |
| Lou | Floor manager. Runs the whole dining room alone. Nickname: "the Event Loop". Takes center stage from Lesson 9. |
And on the last night of the month, a food critic arrives in disguise.
| Part | Lessons | The kitchen |
|---|---|---|
| Many cooks | 1–7 | threads, race conditions, locks, deadlock, queues, worker pools |
| Many kitchens | 8 | the GIL, processes, GIL-free 3.14t, subinterpreters |
| One manager on the floor | 9–11 | asyncio, TaskGroup, cancellation and timeouts, blocking |
| The critic's night | 12 | every tool in one kitchen |
Each lesson is a complete night on its own, so feel free to pick just the nights you need.
with, exception handling. If you finished the regex course on this site, you are ready..py file and run python file.py. The multiprocessing examples in particular need to run from a file, not the interactive shell.Chef's tip
You won't get a feel for concurrency just by reading code. Run the timelines yourself. Once you see how the bars overlap, you're halfway there.
Get news about new lessons
We'll email you when this course gets new lessons or a follow-up course opens.
R
ReflexKR
Learn Python and Reflex by doing. Every example was run and verified on Reflex 0.10.0.
ReflexKR is free, with no banner ads. If it helped you, you can support it with a coffee. ☕ Buy us a coffee
Affiliate disclosure© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0
Questions & answers
Ask anything about this lesson. Questions from every language version of this page appear together.