golang的并發(fā)編程介紹

簡而言之,所謂并發(fā)編程是指在一臺處理器上“同時”處理多個任務。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊網(wǎng)站空間、營銷軟件、網(wǎng)站建設、江寧網(wǎng)站維護、網(wǎng)站推廣。

Golang語言中,并發(fā)使用的協(xié)程的機制,實現(xiàn)起來也是十分的方便,使用go關鍵字即可。  

func main() {
    ...
    go fun(){
        fmt.Println("Hi, Here is a goroutine.")
    }()
    ...
}

什么是Goroutine

goroutine是Go并行設計的核心。goroutine說到底其實就是協(xié)程,它比線程更小,十幾個goroutine可能體現(xiàn)在底層就是五六個線程,Go語言內部幫你實現(xiàn)了這些goroutine之間的內存共享。

執(zhí)行goroutine只需極少的棧內存(大概是4~5KB),當然會根據(jù)相應的數(shù)據(jù)伸縮。也正因為如此,可同時運行成千上萬個并發(fā)任務。goroutine比thread更易用、更高效、更輕便。

一般情況下,一個普通計算機跑幾十個線程就有點負載過大了,但是同樣的機器卻可以輕松地讓成百上千個goroutine進行資源競爭。

Goroutine的創(chuàng)建

只需在函數(shù)調?語句前添加 go 關鍵字,就可創(chuàng)建并發(fā)執(zhí)?單元。開發(fā)人員無需了解任何執(zhí)行細節(jié),調度器會自動將其安排到合適的系統(tǒng)線程上執(zhí)行。

在并發(fā)編程中,我們通常想將一個過程切分成幾塊,然后讓每個goroutine各自負責一塊工作,當一個程序啟動時,主函數(shù)在一個單獨的goroutine中運行,我們叫它main goroutine。新的goroutine會用go語句來創(chuàng)建。

而go語言的并發(fā)設計,讓我們很輕松就可以達成這一目的

以上就是golang并發(fā)編程是什么的詳細內容,更多請關注創(chuàng)新互聯(lián)其它相關文章!

文章名稱:golang的并發(fā)編程介紹
轉載注明:http://muchs.cn/article14/gjgsge.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作App開發(fā)網(wǎng)站改版、做網(wǎng)站、建站公司、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網(wǎng)站建設