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

写入两个独立的通道是否可靠地顺序进行?

写入两个独立的通道是否可靠地顺序进行?

Go
侃侃尔雅 2023-06-05 18:03:52
如果我在两个频道上进行选择:for {    select {    case <-chan1:        // do something    case <-chan2:        // do something else    }}在一个单独的 goroutine 中,我依次写入这些通道:chan1 <- "blah"chan2 <- true我能保证在“做其他事情”之前看到“做某事”吗?我知道如果 select 有两个未阻塞的通道,它会随机选择,但我认为如果 select 已经阻塞,写入第一个通道可能会可靠地“中断”写入 goroutine,这意味着 select 将在之前未阻塞的第一个通道上运行第二次写。
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

是的,如果通道是无缓冲的,你可以依赖它。



查看完整回答
反对 回复 2023-06-05
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

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