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
没有超时机制的话,会。
|