为了账号安全,请及时绑定邮箱和手机立即绑定

go 通道不能同时收发吗?

go 通道不能同时收发吗?

胡子哥哥 2019-03-09 20:27:45
go channel 同一时刻不能同时收发吗我看了go 1.11的channel send 和 recv源码,发现在收发的时候,会先上锁,如果我没有理解错误,收发都用的是同一把锁,这是不是意味着:通道不能同时收发。即:收与发是互斥的?
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

是的. 它不能. 它就是一个简单的环形队列。

一个Lock几乎解决了大量了并发问题,也没有CAS 这些操作



查看完整回答
反对 回复 2019-03-09
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

为啥这么设计,我觉得go中的chan就是用来简单地通信罢了

没有什么通信是一个chan无法解决的,如果有,那就两个。


查看完整回答
反对 回复 2019-03-09
  • 2 回答
  • 0 关注
  • 457 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信