,它们自省的观察自己是否满足条件醒来(state==0,且为头节点),如果成立将调用setHeadAndPropagate这个方法
p.next = null...然后我发现F6一直走 ,到了判断下面的if 条件后, 走两遍, eclipse的步入 下一步都置灰了, 可能是判断如果没有新的条件, 死循环无法退出吧,
//所以一直阻塞着这里..., 如果多个线程都写, 那么就需要CAS去更新
由于我们测试代码是阻塞一个main线程, 其实CountDownLatch能同时阻塞多个线程, 所以才用到队列
然后await()方法死循环里检测到条件满足了..., 就退出死循环,退出阻塞, 接着往下执行了
之前我们了解到, 当不满足tryAcquireShared(),条件时,
await()方法就一直 死循环阻塞
那么猜countDown()方法除了让计数器减一以外...是不是一样的 一样的则更新为10 在for死循环中 直到更新成功
return nextc == 0;// 如果为0 则退出 返回true