最佳答案
使用缓冲通道,如何度量通道中有多少元素?例如,我正在创建和发送一个像这样的频道:
send_ch := make(chan []byte, 100)
// code
send_ch <- msg
我想测量通道 发送中有多少个 味精。
我知道,由于并发性,测量将不是精确的,因为抢占可能发生在测量和行动之间(例如在这个视频 Google I/O 2012-Go 并发模式讨论)。我将使用这个来控制生产者和消费者之间的流量,即一旦我通过了一个高水印,改变一些行为,直到我通过一个低水印。