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

题目解析 GOLANG ROADMAP社区

答案(栾龙生)

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

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

本文由:GOLANG ROADMAP社区 公布

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理