【发布时间】:2017-05-16 20:01:30
【问题描述】:
在 Golang 中,无缓冲通道只是一个 FIFO 队列。任何时候该队列中可以有多少项目?有限制吗?
【问题讨论】:
-
无缓冲意味着没有缓冲(零)。见Golang - What is channel buffer size?。
-
我明白了,但是未缓冲与缓冲属性仅影响执行的阻塞,而不是添加到队列中的事物的数量。如果我继续同时调用一个发送到无缓冲通道的 go 例程,我仍然会看到按顺序处理的所有消息,没有任何消息丢失 - 据我所见
-
你的问题是有多少阻塞的 goroutine 可以等待写入无缓冲通道?
-
@e0k 绝对是的!以及将在哪些订单程序中处理?
-
只是一个小提示,不要认为缓冲通道是队列
标签: go