Go語言中的goroutine總結

goroutine與通道結合使用,是Go語言中實現併發編程的風格之一。

  • 定義
    • goroutine:在Go程序中,每一個併發的活動。與線程的概念類似。
    • 主goroutine:用來調用main函數的goroutine
    • 通道:用於goroutine之間的通信機制,每種通道的元素類型的固定的。
    • 管道:像是工廠的流水線,其中工人是goroutine,傳送帶是通道,
  • 創建
    • goroutine:使用關鍵字go創建。
      • 語法:go functionName()
      • go語句使關鍵字go後面指定的函數在一個新創建的goroutine中運行
  • 其他
    • 通道:類型名爲chan basetype
      • 聲明:
        • var ch chan int // 一個int類型的通道
        • var ch chan <- int // 一個int類型的僅發送的通道
        • var ch <- chan int // 一個int類型的僅接收的通道
      • 創建:
        • ch := make( chan int ) // 一個int類型的無緩衝通道
        • ch := make( chan int, 0 ) // 一個int類型的無緩衝通道
        • ch := make( chan int, 3 ) // 一個容量爲3,int類型的緩衝通道;用len獲取個數,cap獲取容量
    • 管道:通過通道將幾個goroutine首尾相連(一個goroutine的輸出作爲另一個的輸入)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章