JUC.Condition学习笔记[附详细源码解析]

ReentrantLock是独占锁,一个线程拿到锁后如果不释放,那么另外一个线程肯定是拿不到锁,所以在lock.lock()和lock.unlock()之间可能有一次释放锁的操作(同样也必然还有一次获取锁的操作)。在进入lock.lock()后唯一可能释放锁的操作就是await()了。也就是说await()操作实际上就是释放锁,然后挂起线程,一旦条件满足就被唤醒,再次获取锁!

,困难是人的教科书。

JUC.Condition学习笔记[附详细源码解析]

相关文章:

你感兴趣的文章:

标签云: