1. 首页
  2. 主题
  3. Go问与答

golang 中 select 多个case同时满足的情况

ddxx11223 · · 5878 次点击
```go ch1 := make (chan int, 10) t1 := time.NewTimer(time.Second * 1) for { ch1<-1 select { case <-ch1: fmt.Println("ch1 pop one element") case <-t1.C: println("1s timer") t1.Reset(time.Second * 1) } } ``` 按理来说,1秒过后,第二个case也不应该被触发,因为第一个case始终满足(每次for循环开始的时候都会ch1 push一个元素),但是实际上1秒过后第二个case会被走到,这就搞不懂了,求解惑
case注册的条件会被随机一下
#3
更多评论
`select` 多个 `case` 同时满足的话,会随机触发一个
#1

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中