select {
case n = <-c1:
values = append(values, n)
case n = <-c2:
values = append(values, n)
case activeWorker <-activeValue:
values = values[1:]
case <-time.After(800 * time.Millisecond):
fmt.Println("timeout")
case <-tick:
fmt.Println("queue len=", len(values))
case <-tm:
fmt.Println("bye")
return
}
<-time.After(800 * time.Millisecond) 这个case是怎么判断的啊?第一个好理解,就是收数据,收到就匹配到,但是这个800ms是怎么个匹配法?它是什么时候开始计时的?还是说第一次匹配到开始计时,?这里有点懵,老师帮忙解答下,
还有就是加了case <-tick:这个之后就打不出timeout了,这是为什么呢?我把800ms改成和tick一样都是1s 也不行,按理,这两个都是1秒的话,任何一个应该都可能被执行到吧?,