Golang chan 避免死锁

idea at 
Golang chan 避免死锁的配图
Golang 的管道(chan)无论是否有缓冲, 生产者和消费者不可能做到速度完全匹配, 一旦管道满了, 就相当于生产者直接调用消费者. 如果生产者和消费者使用同一个锁, 就是死锁了.所以, 一个重要的原则就是, 在写管道之前, 把所有可能的锁 unlock 掉.Related posts:异步编程语言的常见坑 CVPixelBufferRef 与 CVOpenGLTextureRef: 图像处理中内存与显存的交互集成于 iphp 框架的 PHP 并发模型和工具正确的将浮点数转成整数的方法 – 避免强制类型转换转: Unix 文本编辑器 你现在看的文章是: Golang chan 避免死锁 ……