2020-05-10

Golang chan 避免死锁

Views: 7375 | Add Comments

Golang 的管道(chan)无论是否有缓冲, 生产者和消费者不可能做到速度完全匹配, 一旦管道满了, 就相当于生产者直接调用消费者. 如果生产者和消费者使用同一个锁, 就是死锁了.

所以, 一个重要的原则就是, 在写管道之前, 把所有可能的锁 unlock 掉.

Related posts:

  1. 异步编程语言的常见坑
  2. CVPixelBufferRef 与 CVOpenGLTextureRef: 图像处理中内存与显存的交互
  3. 集成于 iphp 框架的 PHP 并发模型和工具
  4. 正确的将浮点数转成整数的方法 – 避免强制类型转换
  5. 转: Unix文本编辑器
Posted by ideawu at 2020-05-10 22:28:28

Leave a Comment