Tamponlanmış bir kanal kullanarak, kanalda kaç öğe olduğunu nasıl ölçebilirsiniz? Örneğin, bunun gibi bir kanal oluşturuyor ve gönderiyorum:
send_ch := make(chan []byte, 100)
// code
send_ch <- msg
Kaç ölçmek istiyorum msj kanal içindedir send_ch .
Ölçüm ve eylem arasında ön-alım olabileceğinden, eşzamanlılık nedeniyle ölçümün kesin olmayacağının farkındayım (örneğin, bu videoda Google I / O 2012 - Go Eş Zamanlılık Modelleri tartışılmıştır ). Bunu üreticiler ve tüketiciler arasındaki akış kontrolü için kullanacağım, yani yüksek bir filigrandan geçtikten sonra, düşük bir filigrandan geçene kadar bazı davranışları değiştireceğim.