Go語(yǔ)言并發(fā)學(xué)習(xí)筆記

一、Go程

1.goroutine是由 Go 運(yùn)行時(shí)管理的輕量級(jí)線程

我們稱之為Go程是因?yàn)楝F(xiàn)有的術(shù)語(yǔ)—線程、協(xié)程、進(jìn)程等等—無(wú)法準(zhǔn)確傳達(dá)它的含義。 Go程具有簡(jiǎn)單的模型:它是與其它Go程并發(fā)運(yùn)行在同一地址空間的函數(shù)。它是輕量級(jí)的, 所有小號(hào)幾乎就只有??臻g的分配。而且棧最開始是非常小的,所以它們很廉價(jià), 僅在需要時(shí)才會(huì)隨著堆空間的分配(和釋放)而變化。Go程在多線程操作系統(tǒng)上可實(shí)現(xiàn)多路復(fù)用,因此若一個(gè)線程阻塞,比如說等待I/O, 那么其它的線程就會(huì)運(yùn)行。Go程的設(shè)計(jì)隱藏了線程創(chuàng)建和管理的諸多復(fù)雜性。在函數(shù)或方法前添加?go?關(guān)鍵字能夠在新的Go程中調(diào)用它。當(dāng)調(diào)用完成后, 該Go程也會(huì)安靜地退出。(效果有點(diǎn)像Unix Shell中的?&?符號(hào),它能讓命令在后臺(tái)運(yùn)行。)


二、信道

信道是帶有類型的管道,你可以通過它用信道操作符 <- 來(lái)發(fā)送或者接收值。信道可以是帶緩沖的。將緩沖長(zhǎng)度作為第二個(gè)參數(shù)提供給?make?來(lái)初始化一個(gè)帶緩沖的信道

信道與映射一樣,也需要通過?make?來(lái)分配內(nèi)存。其結(jié)果值充當(dāng)了對(duì)底層數(shù)據(jù)結(jié)構(gòu)的引用。 若提供了一個(gè)可選的整數(shù)形參,它就會(huì)為該信道設(shè)置緩沖區(qū)大小。默認(rèn)值是零,表示不帶緩沖的或同步的信道。????


未完待續(xù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,757評(píng)論 11 349
  • 網(wǎng)站 : courseracoursera是全球數(shù)一數(shù)二的網(wǎng)絡(luò)免費(fèi)大型公開課在線課程項(xiàng)目,其一開始建立的目的是為了...
    miracle_meow閱讀 261評(píng)論 0 0
  • 八年前,第一次學(xué)騎自行車是在家門口,那時(shí)我剛上初一,因著好奇心外加路遠(yuǎn)出門玩耍是極不方便的,便開始學(xué)著人家趕時(shí)...
    十點(diǎn)説情閱讀 431評(píng)論 6 2
  • 最渣的那塊小餅干閱讀 238評(píng)論 0 0

友情鏈接更多精彩內(nèi)容