2020-05-10

Golang chan 避免死锁

Views: 5277 | Add Comments

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

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

Related posts:

  1. 异步编程语言的常见坑
  2. CVPixelBufferRef 与 CVOpenGLTextureRef: 图像处理中内存与显存的交互
  3. 集成于 iphp 框架的 PHP 并发模型和工具
  4. 蛇形遍历数组
  5. 流式布局的原理和代码实现
Posted by ideawu at 2020-05-10 22:28:28

Leave a Comment