題目解析 GOLANG ROADMAP社區(qū)
答案(欒龍生)
空通道即無緩沖通道。無緩沖通道上的發(fā)送操作將會阻塞惹挟,直到另一個goroutine在對應(yīng)的通道上執(zhí)行接收操作菌羽,這時值傳送完成耐薯,兩個goroutine都可以繼續(xù)執(zhí)行。相反,如果接收操作先執(zhí)行补箍,接收方gorountine將阻塞,直到另一個goroutine在同一個通道上發(fā)送一個值啸蜜。
使用無緩沖通道進(jìn)行的通信導(dǎo)致發(fā)送和接收goroutine同步化坑雅。因此,無緩沖通道也稱為同步通道衬横。當(dāng)一個值在無緩沖通道上傳遞時裹粤,接收值后發(fā)送方goroutine才被再次喚醒。
本文由:GOLANG ROADMAP社區(qū) 發(fā)布