Go - channel - basic


  • Declare
    • ch := make(chan int) // unbuffered, send will be blocked until receive was called
    • ch := make(chan int, 0) // unbuffered, send will be blocked until receive was called
    • ch := make(chan int, 3) // buffered, send will not be blocked until receive was called
  • Channel is comparable 
  • Can send msg from one channel to another by method send
  • Ex.send: ch <- x
  • Ex. Receive: x <- ch
  • Ex. Receive and discard result: <- ch
  • Close a channel by method: close
  • Ex. close(ch)


沒有留言:

張貼留言

別名演算法 Alias Method

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