深夜食堂「ドンシ」の新しい副料理長として、12回の営業を通じてthreading・multiprocessing・asyncioを厨房タイムラインで見ながら身につける10時間の講座
0:00–0:50
初日の行列:並行と並列
0:50–1:40
料理人を増やす:threadingの基本
1:40–2:30
黒板の数が合わない:競合状態とLock
2:30–3:20
コンロは3つだけ:同期の道具
3:20–4:10
包丁とまな板:デッドロック
4:10–5:00
伝票差し:queue
5:00–5:50
出張料理人:concurrent.futures
5:50–6:40
生地はなぜ速くならない:GILと並列
6:40–7:30
一人で回すホール係:asyncioの第一歩
7:30–8:20
団体予約のキャンセル:構造化された並行処理
8:20–9:10
止まったホール:ブロッキングと組み合わせ
9:10–10:00
評論家の夜:総まとめ
望遠洞(マンウォンドン)の路地のどん詰まりに、夜10時になると明かりがともる小さな食堂があります。看板には深夜食堂ドンシ。オーナーシェフのユン・ソヨンは20年間サーバーを作ってきたバックエンドエンジニアで、今でも厨房のことをこう呼びます。「厨房はプログラムだ」
あなたは今日から、この厨房の新しい副料理長です。この講座は開店最初の1か月、12回の営業の夜をたどりながら、Pythonで複数の仕事を同時にこなすための3つの道具を身につける10時間の講座です。
threading:料理人を何人も置く。multiprocessing(と concurrent.futures):厨房をいくつも構える。asyncio:一人が待っている間に別の仕事をする。| 人物 | 役割 |
|---|---|
| ユン・ソヨンシェフ | オーナーシェフ。首からタイマーを下げている。毎晩注文書を手渡し、閉店後にレシピカードを残す。 |
| ミンホ | ラインコック。手は速いがそそっかしい。 |
| スア | ラインコック。几帳面。 |
| タクさん | ラインコック。遅いけれど絶対にミスをしない。 |
| ルー | ホールマネージャー。一人でホール全体を回す。あだ名は「イベントループ」。9限目からの主役。 |
そしてこの月の最後の夜、正体を隠した料理評論家がやってきます。
| 区間 | 限目 | 厨房 |
|---|---|---|
| 料理人が何人も | 1〜7 | スレッド、競合状態、ロック、デッドロック、キュー、ワーカープール |
| 厨房がいくつも | 8 | GIL、プロセス、GILのない3.14t、サブインタープリター |
| 一人で回すホール | 9〜11 | asyncio、TaskGroup、キャンセルと制限時間、ブロッキング |
| 評論家の夜 | 12 | すべての道具をひとつの厨房に |
各限目はその夜の出来事で完結するので、必要な夜だけ選んで読んでもかまいません。
with、例外処理がわかる程度のPythonの力。このサイトの正規表現講座を終えていれば十分です。.py ファイルに保存して python ファイル名.py で動かしてください。特に multiprocessing の例は、対話シェルではなくファイルから実行する必要があります。シェフのひとこと
並行処理はコードを読むだけじゃピンとこない。タイムラインは必ず自分で回してみて。バーがどう重なるかが見えたら、半分はわかったようなもんだよ。
新しい授業・講座のお知らせを受け取る
この講座に授業が追加されたり、続きの講座が公開されたりしたらメールでお知らせします。
R
ReflexKR
触って学ぶPythonとReflex。すべての例はReflex 0.10.0で実際に動かして確認しています。
ReflexKRはバナー広告なし・無料で運営しています。役に立ったら、コーヒー一杯で応援してください。 ☕ コーヒーで応援する
アフィリエイトと支援について© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0
質問と回答
この回について気になることを書き込んでください。すべての言語のページの質問がここに集まります。