{
  "id": 11363408,
  "title": "协程到底是什么？把它当成“一个能中途暂停的函数”，一切就通了",
  "url": "https://urgent.news/2026/10/02/story-11363408",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-02T05:22:53.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/jianfeng_huang_5dc66197a0/xie-cheng-dao-di-shi-shi-yao-ba-ta-dang-cheng-ge-neng-zhong-tu-zan-ting-de-han-shu-qie-jiu-tong-liao-23c5"
  },
  "original_language": "zh",
  "account": null,
  "summary": "TL;DR：协程不是“更快的线程”，它是一个可以在中途停下来、把线程让给别人、之后还能从停下的那一行接着跑的函数。它省掉的不是计算时间，而是等 IO 时的空转。 面试被问“协程是什么”，大多数人的答案是背来的一句：“协程是用户态的轻量级线程。” 这句话不算错，但它几乎解释不了任何事。听完你还是不知道该在什么时候用它、为什么它会被一个 time.sleep() 卡死、为什么它不需要锁。 这篇不讲定义，只讲三件事： 协程在切什么、调度权在谁手里、什么时候不该用它。 一、先问一个更朴素的问题：谁在决定现在跑哪段代码？ 进程、线程、协程经常被并列着讲，但它们回答的其实是同一个问题： “现在这一刻，CPU 该执行哪段代码，由谁说了算？” 谁在调度 切换成本 需要锁吗 能并行吗 进程 操作系统 最贵（换地址空间、页表） 需要（或靠 IPC） 能，真并行 线程 操作系统…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}