![]() | 1 akatquas 2020-09-23 14:39:05 +08:00 你这个阻塞的表述有问题。 buffered channel 为 0 时,写 是不阻塞的,读是阻塞的。 buffered channel 满了的时候, 写是阻塞的,读是不阻塞的。 |
2 useben 2020-09-23 14:39:52 +08:00 要看你是在读 chan 还是在写, 读的话就会阻塞或者 deadlock(没有其他写), 写接着往下运行(写不超过缓存) |
3 sonxzjw 2020-09-23 14:46:49 +08:00 读的话会阻塞 |
4 alfredhuo OP 这个完整的表述是:"有缓冲 channel,如果这个有缓冲的 channel 里面的数据被取完了,同时,新数据还没有写进来,那么从 channel 里面读取(消费)数据的 goroutine 是否会阻塞呢?" |
![]() | 5 AngryPanda 2020-09-23 15:25:07 +08:00 没有超时机制的话,会。 |