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