Dengan menggunakan saluran buffer, bagaimana cara mengukur berapa banyak elemen yang ada di saluran? Misalnya, saya membuat dan mengirimkan saluran seperti ini:
send_ch := make(chan []byte, 100)
// code
send_ch <- msg
Saya ingin mengukur berapa banyak pesan di saluran send_ch .
Saya sadar bahwa karena konkurensi, pengukurannya tidak akan tepat, karena tindakan pencegahan dapat terjadi antara pengukuran dan tindakan (misalnya dibahas dalam video ini Google I / O 2012 - Buka Pola Konkurensi ). Saya akan menggunakan ini untuk kontrol aliran antara produsen dan konsumen yaitu setelah saya melewati tanda air yang tinggi, mengubah beberapa perilaku sampai saya melewati tanda air yang rendah.
cap
akan melakukannya.c := make(chan int)
) Anda tidak bisa mendapatkan panjangnya. Saya belum menemukan alasan untuk ini. Ya, kapasitasnya juga kembali 0