Go語(yǔ)言的高級(jí)并發(fā)模式
Go語(yǔ)言的一個(gè)很大的優(yōu)勢(shì)就是內(nèi)置了goroutine機(jī)制,使得開(kāi)發(fā)者可以方便地編寫(xiě)并發(fā)程序。
在去年的Google I/O大會(huì)上,Go語(yǔ)言開(kāi)發(fā)團(tuán)隊(duì)成員Rob Pike介紹了Go的并發(fā)模式。如今該語(yǔ)言已經(jīng)到達(dá)了1.1版本,性能和安全性較之以前更加完善。在本月舉行的I/O 2013上,團(tuán)隊(duì)成員Sameer Ajmani帶來(lái)了更高級(jí)的Go語(yǔ)言并發(fā)模式演講,以幫助開(kāi)發(fā)者更深入地了解Go語(yǔ)言的并發(fā)編程問(wèn)題。
你可以通過(guò)這個(gè)幻燈片來(lái)查看:https://talks.golang.org/2013/advconc.slide(使用左右方向鍵翻頁(yè),點(diǎn)擊代碼頁(yè)的run按鈕可直接運(yùn)行代碼,你還可以直接對(duì)代碼進(jìn)行修改)
在幻燈片中,Sameer介紹了如何檢測(cè)和避免死鎖、競(jìng)爭(zhēng)條件(race conditions),并演示了并發(fā)中截止時(shí)間(deadlines)和任務(wù)取消(cancellation)的實(shí)現(xiàn)。如果你希望將自己的Go編程技能提升一個(gè)層次,強(qiáng)烈建議你看看這個(gè)幻燈片。
該幻燈片基于present工具制作,其中代碼運(yùn)行功能是基于Go Playground的,具體可見(jiàn)源碼。
Via Go官方博客