버퍼링 된 채널을 사용하여 채널에있는 요소 수를 어떻게 측정합니까? 예를 들어 다음과 같은 채널을 만들고 전송합니다.
send_ch := make(chan []byte, 100)
// code
send_ch <- msg
send_ch 채널에 얼마나 많은 메시지 가 있는지 측정하고 싶습니다 .
동시성으로 인해 측정과 작업 사이에 선점이 발생할 수 있으므로 측정이 정확하지 않다는 것을 알고 있습니다 (예 :이 동영상 Google I / O 2012-Go Concurrency Patterns 에서 논의 됨 ). 나는 이것을 생산자와 소비자 사이의 흐름 제어를 위해 사용할 것입니다.