此时出现了奇怪的问题,inputQueue的size明明显示为5,但下面却显示all elements are null 导致无论怎么都取不出
深入研究一下发现:是在这个地方报错的, Node节点为null时抛出异常,那么对应的应该了解是如何加入 null的
此时是执行 add(e)时,是新建一个节点,使用new新建的一个node对象,那么意味着 linkList的node一定不为null。那么排除了是加入时为null
不得不重新回到原点 --- 这个问题是在多线程的竞争下发生的。
在报错的地方重新发现 了疑点,明明size大小为166 ,但是first和last都是null
仔细研究发现
猜想结论:未证实
在inputQueue size为0时,其他线程执行add,new Node对象创建来不及完成,但是size++已经完成,而且 inputQueue.remove()即将执行,就会发生 明明size有,但是 队列为null