并发编程
并发是 Go 最具竞争力的语言特性。运行时调度器以极低成本管理数十万 goroutine,配合通道与同步原语,可以构建简洁而高吞吐的并发程序。
内容导航
核心心智模型
Go 并发遵循一条著名准则:
不要通过共享内存来通信,而要通过通信来共享内存。
实践中两种模式并存:
- CSP 模式(推荐优先):goroutine 之间通过 channel 传递数据所有权,避免显式加锁。
- 共享内存:多个 goroutine 读写同一状态时,使用
sync.Mutex等原语保护。
Warning
并发程序最常见的问题是数据竞争(data race)。开发与测试阶段应始终开启竞态检测器运行代码: