Go - buffered channel


  • Declare a queue: ch := make(chan int, 3)
  • Block send when full, block receive when empty
  • Get capacity: cap(ch)
  • Get currently buffered: len(ch)
  • Buffered channel behaves as a queue, but should use slice if only need a queue


沒有留言:

張貼留言

別名演算法 Alias Method

 題目 每個伺服器支援不同的 TPM (transaction per minute) 當 request 來的時候, 系統需要馬上根據 TPM 的能力隨機找到一個適合的 server. 雖然稱為 "隨機", 但還是需要有 TPM 作為權重. 解法 別名演算法...