阻塞队列-单锁实现-2中代码的漏洞3
# 阻塞队列 - 单锁实现 - 2 中代码的漏洞 3 声明:只是做了一个很小的改动 但是 作用却非常的大,这是一个经验!!! 考虑代码中的漏洞 漏洞在哪里呢?其实就在 判断 isFull 的 if 判断语句 那段代码中 为什么呢?if 怎么会有错呢?它不就是判断 队列是否 满了 ,如果满了 添加代码 不能立刻 执行 我得先让代码阻塞 将来队列不满了,我将它唤醒,唤醒后继续执行后面的添加代码。if 能有什么错呢? 答:我们通过如下表格来进行分析,表格的 从上到下 顺序就是按照 时间顺序执行的 操作前 offer(4) offer(5) poll() 操作后 [1 2 3] 队列满,进入...
more...