当前位置:网站首页>《Go题库·9》同一个协程里面,对无缓冲channel同时发送和接收数据有什么问题

《Go题库·9》同一个协程里面,对无缓冲channel同时发送和接收数据有什么问题

2022-06-21 17:31:00 GolangRoadmap

*

解析整理 GOLANG ROADMAO社区

*

答案(engine)

同一个协程里,不能对无缓冲channel同时发送和接收数据,如果这么做会直接报错死锁。

对于一个无缓冲的channel而言,只有不同的协程之间一方发送数据一方接受数据才不会阻塞。channel无缓冲时,发送阻塞直到数据被接收,接收阻塞直到读到数据。

原网站

版权声明
本文为[GolangRoadmap]所创,转载请带上原文链接,感谢
https://mdnice.com/writing/ab86f85095ea413e9cbe6f519aca3b70