一分钟总纲
先讲调度,再讲通信,然后说同步与数据结构,最后收口到内存、Kafka 和项目表达。
1. 先讲调度
GMP 先拿下:G 是任务,M 是线程,P 是调度资源;本地队列优先,空了去全局队列,再 work stealing。
2. 再讲通信
channel 不是普通队列,而是缓冲区 + 发送队列 + 接收队列 + 锁;无缓冲强调同步交接,有缓冲强调解耦。
3. 再讲同步
Mutex / RWMutex / WaitGroup / Once / Context 是并发题标配,重点说清什么时候防竞争、什么时候防泄漏。
4. 再讲数据结构
slice = ptr + len + cap;map 本质是哈希表;interface 记住动态类型和值两部分。
5. 最后讲内存
defer、逃逸分析、GC 三件套一起背:什么时候求值、什么会逃逸、GC 三色标记和 STW。