- 14 协程(goroutine)与通道(channel)
- 链接
- 链接
14 协程(goroutine)与通道(channel)
作为一门 21 世纪的语言,Go 原生支持应用之间的通信(网络,客户端和服务端,分布式计算,参见第 15 章)和程序的并发。程序可以在不同的处理器和计算机上同时执行不同的代码段。Go 语言为构建并发程序的基本代码块是 协程 (goroutine) 与通道 (channel)。他们需要语言,编译器,和runtime的支持。Go 语言提供的垃圾回收器对并发编程至关重要。
不要通过共享内存来通信,而通过通信来共享内存。
通信强制协作。
链接
- 14.1 什么是协程
- 14.2 协程间的信道
- 14.3 协程的同步:关闭通道-测试阻塞的通道
- 14.4 使用 select 切换协程
- 14.5 通道、超时和计时器(Ticker)
- 14.6 协程和恢复(recover)
- 14.7 新旧模型对比:任务和worker
- 14.8 惰性生成器的实现
- 14.9 实现 Futures 模式