activeWorker <- activeRequest 潜在问题
来源:16-4 队列实现调度器

aiqingyuyan
2020-08-02
有个小疑问想请教一下ccmouse,
select语句前面的
var activeRequest engine.Request
var activeWorker chan engine.Request
会给相应的变量赋予zero value,当activeWorker是nil也就是zero value的时候select会忽略这个case,这个好理解。但是,当activeWorker不是nil, activeRequest是zero value的时候这个也有可能被选中吧,那这样的话,这个case下的requestQueue就会失去一个真实的request。不知道我的理解有没有问题
写回答
1回答
-
ccmouse
2020-08-02
不会失去,真实的request没人收,发送方会卡住。接收方会在下一个for重新接收。如果此时activeRequest有值,就会收下来。如果还是没有,就等再下一次for
00
相似问题