关于go:Go题库13向为nil的channel发送数据会怎么样

2次阅读

共计 271 个字符,预计需要花费 1 分钟才能阅读完成。

题目解析 GOLANG ROADMAP 社区

答案 (栾龙生)

空通道即无缓冲通道。无缓冲通道上的发送操作将会阻塞,直到另一个 goroutine 在对应的通道上执行接管操作,这时值传送实现,两个 goroutine 都能够继续执行。相同,如果接管操作先执行,接管方 gorountine 将阻塞,直到另一个 goroutine 在同一个通道上发送一个值。

应用无缓冲通道进行的通信导致发送和接管 goroutine 同步化。因而,无缓冲通道也称为同步通道。当一个值在无缓冲通道上传递时,接管值后发送方 goroutine 才被再次唤醒。

本文由:GOLANG ROADMAP 社区 公布

正文完
 0