Channel
定义
channel是go专门给多个协程之间传递消息协调执行顺序的工具。底层有环形缓冲区、发送等待队列、接收等待队列。可以存数据,让协程阻塞等待。关闭后通知所有等待协程,一般用于传数据、分发任务、通知退出。
结构与实现
- 环形数组
- 收发等待队列
1 | type hchan struct { |

channel是go专门给多个协程之间传递消息协调执行顺序的工具。底层有环形缓冲区、发送等待队列、接收等待队列。可以存数据,让协程阻塞等待。关闭后通知所有等待协程,一般用于传数据、分发任务、通知退出。
1 | type hchan struct { |
