R

ReflexKR

Reflex公式ドキュメント

深夜厨房の並行処理

·

講座の概要

1

初日の行列:並行と並列

2

料理人を増やす:threadingの基本

3

黒板の数が合わない:競合状態とLock

4

コンロは3つだけ:同期の道具

5

包丁とまな板:デッドロック

6

伝票差し:queue

7

出張料理人:concurrent.futures

8

生地はなぜ速くならない:GILと並列

9

一人で回すホール係:asyncioの第一歩

10

団体予約のキャンセル:構造化された並行処理

11

止まったホール:ブロッキングと組み合わせ

12

評論家の夜:総まとめ

深夜厨房の並行処理

講座の概要

深夜食堂「ドンシ」の新しい副料理長として、12回の営業を通じてthreading・multiprocessing・asyncioを厨房タイムラインで見ながら身につける10時間の講座

10時間全12回Reflex 0.10.0 対応

望遠洞(マンウォンドン)の路地のどん詰まりに、夜10時になると明かりがともる小さな食堂があります。看板には深夜食堂ドンシ。オーナーシェフのユン・ソヨンは20年間サーバーを作ってきたバックエンドエンジニアで、今でも厨房のことをこう呼びます。「厨房はプログラムだ」

あなたは今日から、この厨房の新しい副料理長です。この講座は開店最初の1か月、12回の営業の夜をたどりながら、Pythonで複数の仕事を同時にこなすための3つの道具を身につける10時間の講座です。

  • threading:料理人を何人も置く。
  • multiprocessing(と concurrent.futures):厨房をいくつも構える。
  • asyncio:一人が待っている間に別の仕事をする。

厨房の人たち

人物役割
ユン・ソヨンシェフオーナーシェフ。首からタイマーを下げている。毎晩注文書を手渡し、閉店後にレシピカードを残す。
ミンホラインコック。手は速いがそそっかしい。
スアラインコック。几帳面。
タクさんラインコック。遅いけれど絶対にミスをしない。
ルーホールマネージャー。一人でホール全体を回す。あだ名は「イベントループ」。9限目からの主役。

そしてこの月の最後の夜、正体を隠した料理評論家がやってきます。

一晩はこう流れます

  1. 今夜の注文書を受け取ります。その夜のピンチと目標が書いてあります。
  2. シェフと一緒に概念とコードを学びます。
  3. 厨房タイムラインで実際に厨房を回します。ただの絵ではありません。サーバーで本物のスレッドとasyncioが動き、各作業が実際に始まって終わった時刻がバーとして描かれます。
  4. 営業が終わると、シェフのレシピカードにその夜の道具が1行ずつたまっていきます。
区間限目厨房
料理人が何人も1〜7スレッド、競合状態、ロック、デッドロック、キュー、ワーカープール
厨房がいくつも8GIL、プロセス、GILのない3.14t、サブインタープリター
一人で回すホール9〜11asyncio、TaskGroup、キャンセルと制限時間、ブロッキング
評論家の夜12すべての道具をひとつの厨房に

各限目はその夜の出来事で完結するので、必要な夜だけ選んで読んでもかまいません。

準備するもの

  • 関数、クラス、with、例外処理がわかる程度のPythonの力。このサイトの正規表現講座を終えていれば十分です。
  • Python 3.14。すべての例は3.14で実行して確かめました。GILのないフリースレッド版(3.14t)での結果もあわせて載せています。
  • 厨房タイムラインはこのページの上でそのまま動きます。自分でも実行してみたいときは、例を .py ファイルに保存して python ファイル名.py で動かしてください。特に multiprocessing の例は、対話シェルではなくファイルから実行する必要があります。

シェフのひとこと

並行処理はコードを読むだけじゃピンとこない。タイムラインは必ず自分で回してみて。バーがどう重なるかが見えたら、半分はわかったようなもんだよ。

次へ →

1限目 · 初日の行列:並行と並列

新しい授業・講座のお知らせを受け取る

この講座に授業が追加されたり、続きの講座が公開されたりしたらメールでお知らせします。

収集項目:メールアドレス・目的:この講座の新しい授業・公開のお知らせ・保有期間:解除のご依頼まで。他の目的には使わず、第三者にも提供しません。お知らせメールに返信いただければすぐに削除します。

質問と回答

この回について気になることを書き込んでください。すべての言語のページの質問がここに集まります。

リンクや書式なしで、そのままの文字で表示されます。

R

ReflexKR

触って学ぶPythonとReflex。すべての例はReflex 0.10.0で実際に動かして確認しています。

ReflexKRはバナー広告なし・無料で運営しています。役に立ったら、コーヒー一杯で応援してください。 ☕ コーヒーで応援する

アフィリエイトと支援について
한국어English日本語简体中文EspañolDeutsch

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex