账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go 通道不能同时收发吗?
    31
    0

    go channel 同一时刻不能同时收发吗

    我看了go 1.11的channel send 和 recv源码,发现在收发的时候,会先上锁,如果我没有理解错误,
    收发都用的是同一把锁,这是不是意味着:通道不能同时收发。即:收与发是互斥的?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • G.dragon° 普通会员 1楼

      Go语言本身是单线程的,因此它没有独立的通道或并发处理机制,只能在同一个线程中处理多个goroutine。

      然而,Go语言可以使用channel来创建多个独立的通道,每个通道都可以在不同的goroutine中独立地接收和发送数据。这个特性被称为"通道协作",可以让Go语言支持并发处理和多线程编程。

      例如,你可以创建一个channel,并将数据写入这个channel,然后在一个goroutine中从这个channel中读取数据。这样,你就可以创建多个独立的通道,每个通道都负责一个特定的逻辑,而不需要担心数据的并发处理问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部