上图中,当需要reset一个时间的时候,如果这个事件当前已经超时,通道里已经有有数据,则需要先取出数据再进行reset,这个我可以理解,但是如图的实现方法不会导致并发错误么?比如在if判断的时候条件不成立,然后当前协程被挂起,定时器相关协程执行,刚好这个事件超时,通道里被写入数据。然后当前协程被切回来并reset,但此时通道里已经有数据,导致被立刻唤醒?如果我的理解有问题的话请问正确实现应该是什么样的
2.1m questions
2.1m answers
60 comments
57.0k users