channel的用法
channel的使用场景
channel的基本操作和注意事项
操作
nil的channel
正常channel
已关闭channel

1. 使用for range读channel
2. 使用_,ok判断channel是否关闭
_,ok判断channel是否关闭3. 使用select处理多个channel
4. 限制channel的读写权限
5. 使用缓冲channel增强并发
6. 为操作加上超时
7. 使用time实现channel无阻塞读写
8. 使用close(ch)关闭所有下游协程
close(ch)关闭所有下游协程9. 使用chan struct{}作为信号channel
chan struct{}作为信号channel10. 使用channel传递结构体的指针而非结构体
11. 使用channel传递channel
12. nil的通道永远阻塞
13. select{}永远阻塞
select{}永远阻塞CSP(communicating sequential processes)并发模型
流水线FAN模型

协程池

合理退出并发协程
更多细节
如何避免向closed channel发送消息?
退出程序时, 如何防止channel没有消费完?
生产者把消息发送完立刻调用close, 不等消费者消费完,会丢数据吗?
用传统的并发原语还是用Channel?
goroutine的使用注意事项
Last updated