R

ReflexKR

Reflex 官方文档

深夜厨房里的并发

·

课程概览

1

第一晚的长队:并发与并行

2

多招几个厨师:threading 基础

3

黑板上的数字错了:竞争条件与 Lock

4

只有三个灶台:同步工具

5

刀与砧板:死锁

6

订单夹:queue

7

外派厨师:concurrent.futures

8

面团为什么快不起来:GIL 与并行

9

一个人跑全场的前厅经理:asyncio 入门

10

团体预订取消了:结构化并发

11

前厅停住了:阻塞调用与混合使用

12

评论家之夜:综合

深夜厨房里的并发

课程概览

成为深夜食堂“同时”的新任副厨,在十二个营业夜里通过厨房时间线亲眼观察并掌握 threading、multiprocessing 和 asyncio 的 10 小时课程

10 小时共12课基于 Reflex 0.10.0

望远洞一条小巷的尽头,有一家晚上十点才亮灯的小食堂。招牌上写着 深夜食堂“同时”。老板兼主厨尹瑞妍做了二十年服务器后端开发,到现在还这样形容她的厨房:“厨房就是程序。”

从今天起,你就是这间厨房新来的副厨。这门 10 小时的课程跟着开业第一个月的十二个营业夜走下去,带你掌握 Python 里同时做好几件事的三种工具。

  • threading:多请几个厨师。
  • multiprocessing(以及 concurrent.futures):多开几间厨房。
  • asyncio:一个人在等的时候去做别的事。

厨房里的人

人物做什么
尹瑞妍主厨老板兼主厨。脖子上挂着计时器。每晚递给你订单,打烊时留下一张配方卡。
敏浩炉台厨师。手快,但毛手毛脚。
秀雅炉台厨师。细心周到。
老卓炉台厨师。慢,但从不出错。
小露前厅经理。一个人跑整个前厅,外号“事件循环”。第 9 课起是主角。

到了这个月的最后一晚,一位隐藏身份的美食评论家会来到店里。

一个晚上是这样过的

  1. 拿到今晚的订单。上面写着当晚的危机和目标。
  2. 跟着主厨学习概念和代码。
  3. 在厨房时间线里亲手运转厨房。那不是示意图:服务器上真的在跑线程和 asyncio,每个任务实际开始和结束的时刻会画成一根根横条。
  4. 营业结束后,当晚用到的工具会一行一行地记到主厨的配方卡上。
阶段课次厨房
多个厨师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