dev.to | 📄 原文链接 | 2026-11-12 收录

你的协程开错了:一张图讲清 Go 并发的运行时结构

来源:dev.to — 2026-11-11

📋 概述

go 关键字太轻,于是协程被到处撒:每个 HTTP 请求开一个、数据库查询里再开一个、循环里顺手再来一批。本地几百次请求看不出问题,上线后协程悄悄堆积却不会报错。文章拆开运行时内部:GMP 调度器如何用 work-stealing 在处理器之间搬运可运行的协程,2KB 起步的连续栈如何增长与收缩,以及 channel 底层的 hchan 环形缓冲怎样完成收发。

🔑 核心要点

💡 金句

“You prefix any function call with `go`, and the runtime instantly schedules it as an independent concurrent unit. It feels weightless. It feels free.”
译:你在函数调用前加一个 go,运行时立刻把它调度成独立的并发单元。感觉轻飘飘的,像是免费的。
← 返回 dev.to 首页