W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
原文鏈接:https://gopl-zh.github.io/ch8/ch8.html
并發(fā)程序指同時(shí)進(jìn)行多個(gè)任務(wù)的程序,隨著硬件的發(fā)展,并發(fā)程序變得越來(lái)越重要。Web服務(wù)器會(huì)一次處理成千上萬(wàn)的請(qǐng)求。平板電腦和手機(jī)app在渲染用戶畫面同時(shí)還會(huì)后臺(tái)執(zhí)行各種計(jì)算任務(wù)和網(wǎng)絡(luò)請(qǐng)求。即使是傳統(tǒng)的批處理問(wèn)題——讀取數(shù)據(jù)、計(jì)算、寫輸出,現(xiàn)在也會(huì)用并發(fā)來(lái)隱藏掉I/O的操作延遲以充分利用現(xiàn)代計(jì)算機(jī)設(shè)備的多個(gè)核心。計(jì)算機(jī)的性能每年都在以非線性的速度增長(zhǎng)。
Go語(yǔ)言中的并發(fā)程序可以用兩種手段來(lái)實(shí)現(xiàn)。本章講解goroutine和channel,其支持“順序通信進(jìn)程”(communicating sequential processes)或被簡(jiǎn)稱為CSP。CSP是一種現(xiàn)代的并發(fā)編程模型,在這種編程模型中值會(huì)在不同的運(yùn)行實(shí)例(goroutine)中傳遞,盡管大多數(shù)情況下仍然是被限制在單一實(shí)例中。第9章覆蓋更為傳統(tǒng)的并發(fā)模型:多線程共享內(nèi)存,如果你在其它的主流語(yǔ)言中寫過(guò)并發(fā)程序的話可能會(huì)更熟悉一些。第9章也會(huì)深入介紹一些并發(fā)程序帶來(lái)的風(fēng)險(xiǎn)和陷阱。
盡管Go對(duì)并發(fā)的支持是眾多強(qiáng)力特性之一,但跟蹤調(diào)試并發(fā)程序還是很困難,在線性程序中形成的直覺(jué)往往還會(huì)使我們誤入歧途。如果這是讀者第一次接觸并發(fā),推薦稍微多花一些時(shí)間來(lái)思考這兩個(gè)章節(jié)中的樣例。
![]() | ![]() |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: