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

来源:9-24 其他BlockingQueue类型的介绍

宝慕林5151746

2020-02-06

写回答

2回答

qq_慕仙4066775

2020-04-09

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


0
1
qq_慕仙4066775
说反了
2020-04-09
共1条回复

悟空

2020-02-07

if (c + 1 < capacity)

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

0
0

深度解密Java并发工具,精通JUC,成为并发多面手

JUC全方位讲解,构建并发工具类知识体系

1599 学习 · 573 问题

查看课程