go并发之道·关闭channel的n种方式与关闭时机汇总
内容:优雅关闭channel
Channel关闭原则
1、不要在消费端关闭channel
2、不要在有多个并行的生产者时对channel执行关闭操作。
3、只在唯一的或者最后唯一剩下的生产者协程中关闭channel,来通知消费者
已经没有值可以继续读了。只要坚持这个原则,就可以确保向一个已经关闭
的channel发送数据的情况不可能发生。
暴力关闭channel的正确方法
如果想要在消费端关闭channel,或者在多个生产者端关闭channel,可以使用recover机制来避免程序
因为p