1
จำนวนองค์ประกอบในช่อง
การใช้ช่องสัญญาณบัฟเฟอร์จะวัดจำนวนองค์ประกอบในช่องได้อย่างไร ตัวอย่างเช่นฉันกำลังสร้างและส่งในช่องเช่นนี้: send_ch := make(chan []byte, 100) // code send_ch <- msg ฉันต้องการที่จะวัดว่าหลายmsgsอยู่ในช่องsend_ch ฉันทราบว่าเนื่องจากการเกิดขึ้นพร้อมกันการวัดผลจะไม่แน่นอนเนื่องจากอาจเกิดการสุ่มตัวอย่างล่วงหน้าระหว่างการวัดและการกระทำ (เช่นที่กล่าวถึงในวิดีโอนี้Google I / O 2012 - Go Concurrency Patterns ) ฉันจะใช้สิ่งนี้เพื่อควบคุมการไหลระหว่างผู้ผลิตและผู้บริโภคเช่นเมื่อฉันผ่านลายน้ำสูงเปลี่ยนพฤติกรรมบางอย่างจนกว่าฉันจะผ่านลายน้ำต่ำ
88
go