请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问LinkedBlockingQueue的put方法为什么要在唤醒线程之前先要做 if (c + 1 < capacity)这个判断?

正在回答 回答被采纳积分+3

2回答

qq_慕仙4066775 2020-04-09 06:19:48

视频不是说了么incrementAndGet返回的是旧值,getAndIncrement返回的是+1后的值。


0 回复 有任何疑惑可以回复我~
悟空 2020-02-07 11:29:21

if (c + 1 < capacity)

代表,当前队列没有满,所以,就会继续执行notFull.signal();,来唤醒等待的线程。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号