select 执行问题

power2021 · · 992 次点击
先不考虑你的 `times` 提前到期的情况, 正常你下面等待3s 上面的go程肯定指定到了for循环的select里面, 因为还在3s内会走一次default, default等待10s后 ctx 已经结束了, 所以下一次循环就会走入 `ctx.Done`里面, 打印 exit
#3
更多评论
为了你初五就提问题点赞
#1
你代码 `times` 变量是多久?`<-ctx.Done():` 是接收超时的信号; 但是你的 `default: time.Sleep(times * 10)` 阻塞住代码了,正常只会输出 1 然后超时退出了。
#2