簡而言之,所謂并發(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語言內(nèi)部幫你實現(xiàn)了這些goroutine之間的內(nèi)存共享。
執(zhí)行goroutine只需極少的棧內(nèi)存(大概是4~5KB),當然會根據(jù)相應的數(shù)據(jù)伸縮。也正因為如此,可同時運行成千上萬個并發(fā)任務。goroutine比thread更易用、更高效、更輕便。
一般情況下,一個普通計算機跑幾十個線程就有點負載過大了,但是同樣的機器卻可以輕松地讓成百上千個goroutine進行資源競爭。
Goroutine的創(chuàng)建
只需在函數(shù)調(diào)?語句前添加 go 關鍵字,就可創(chuàng)建并發(fā)執(zhí)?單元。開發(fā)人員無需了解任何執(zhí)行細節(jié),調(diào)度器會自動將其安排到合適的系統(tǒng)線程上執(zhí)行。
在并發(fā)編程中,我們通常想將一個過程切分成幾塊,然后讓每個goroutine各自負責一塊工作,當一個程序啟動時,主函數(shù)在一個單獨的goroutine中運行,我們叫它main goroutine。新的goroutine會用go語句來創(chuàng)建。
而go語言的并發(fā)設計,讓我們很輕松就可以達成這一目的
以上就是golang并發(fā)編程是什么的詳細內(nèi)容,更多請關注創(chuàng)新互聯(lián)其它相關文章!
文章名稱:golang的并發(fā)編程介紹
轉載注明:http://aaarwkj.com/article14/gjgsge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、App開發(fā)、網(wǎng)站改版、做網(wǎng)站、建站公司、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)