Tags: channel
[單選題]關(guān)于無緩沖和有緩沖的channel场航,下面說法正確的是()
A
無緩沖的channel是默認(rèn)的緩沖為1的channel
B
無緩沖的channel和有緩沖的channel都是同步的
C
無緩沖的channel和有緩沖的channel都是非同步的
D
無緩沖的channel是同步的,而有緩沖的channel是非同步的
回答錯誤辩恼!正確答案是 D
[試題解析]
golang channel 有緩沖 與 無緩沖 是有重要區(qū)別的
之前認(rèn)為 有緩沖與無緩沖的區(qū)別 只是 無緩沖的 是 默認(rèn) 緩沖 為1 的緩沖式
其實是徹底錯誤的,無緩沖的與有緩沖channel有著重大差別
那就是一個是同步的 一個是非同步的
怎么說胖喳?比如
c1:=make(chan int) 無緩沖
c2:=make(chan int,1) 有緩沖
c1
無緩沖的 不僅僅是 向 c1 通道放 1 而是 一直要有別的攜程
而 c2
打個比喻
無緩沖的 就是一個送信人去你家門口送信 丸边,你不在家 他不走,你一定要接下信祖娘,他才會走失尖。
無緩沖保證信能到你手上
有緩沖的 就是一個送信人去你家仍到你家的信箱 轉(zhuǎn)身就走 ,除非你的信箱滿了 他必須等信箱空下來渐苏。
有緩沖的 保證 信能進(jìn)你家的郵箱
備注:日诚瞥保總結(jié)內(nèi)容,均來自小程序平臺內(nèi)容琼富,也會存在個人理解仪吧,若解釋錯誤,還望指正鞠眉。