golang runtime源码阅读 channal实现
概念及使用场景
通道(channal)是Golang实现CSP并发模型的关键,分为 有缓冲通道 和无缓冲通道。
有缓冲管道: channal持有一个固定大小的队列,队列满时发送者将阻塞(反之亦然)。多用于数据共享。
无缓冲管道: 发送和接收数据同时完成,如果没有goroutine读取channal,则发送者阻塞(反之亦然)。多用于协程同步。
有缓冲+select: +for实现对多个chan的监...
原创
2019-10-16 00:46:31 ·
931 阅读 ·
0 评论