在Go中,缓冲通道是否有任何订单保证?
例如:您有两个共享频道的goroutine A和B. 当B从中读取数据时,将数据推送到通道.您是否有必要B将读取数据按照A将其放入频道的顺序?
据我所知,如果有多个生产者或消费者,订单可能是非确定性的,但我特别询问只有1个生产者和1个消费者.
Von*_*onC 34
你可以看到" The Go Of Channels Go "中所说的频道概念:它显示了如何遵守订单或读/写.
另见频道:
接收器始终阻塞,直到有数据要接收.
- 如果通道未缓冲,则发送方将阻塞,直到接收方收到该值.
- 如果通道有缓冲区,则发送方仅阻塞,直到将值复制到缓冲区为止; 如果缓冲区已满,则表示等待某个接收方检索到某个值.


| 归档时间: |
|
| 查看次数: |
6569 次 |
| 最近记录: |