您好,登錄后才能下訂單哦!
簡而言之,所謂并發編程是指在一臺處理器上“同時”處理多個任務。
Golang語言中,并發使用的協程的機制,實現起來也是十分的方便,使用go關鍵字即可。
func main() { ... go fun(){ fmt.Println("Hi, Here is a goroutine.") }() ... }
什么是Goroutine
goroutine是Go并行設計的核心。goroutine說到底其實就是協程,它比線程更小,十幾個goroutine可能體現在底層就是五六個線程,Go語言內部幫你實現了這些goroutine之間的內存共享。
執行goroutine只需極少的棧內存(大概是4~5KB),當然會根據相應的數據伸縮。也正因為如此,可同時運行成千上萬個并發任務。goroutine比thread更易用、更高效、更輕便。
一般情況下,一個普通計算機跑幾十個線程就有點負載過大了,但是同樣的機器卻可以輕松地讓成百上千個goroutine進行資源競爭。
Goroutine的創建
只需在函數調?語句前添加 go 關鍵字,就可創建并發執?單元。開發人員無需了解任何執行細節,調度器會自動將其安排到合適的系統線程上執行。
在并發編程中,我們通常想將一個過程切分成幾塊,然后讓每個goroutine各自負責一塊工作,當一個程序啟動時,主函數在一個單獨的goroutine中運行,我們叫它main goroutine。新的goroutine會用go語句來創建。
而go語言的并發設計,讓我們很輕松就可以達成這一目的
以上就是golang并發編程是什么的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。