811.Condition接⼝及其实现原理?

  1. 在java.util.concurrent包中,有两个很特殊的⼯具类,Condition和ReentrantLock,使⽤过的⼈都知道,ReentrantLock(重⼊锁)是jdk的concurrent包提供的⼀种独占锁的实现
  2. 我们知道在线程的同步时可以使⼀个线程阻塞⽽等待⼀个信号,同时放弃锁使其他线程可以能竞争到锁
  3. 在synchronized中我们可以使⽤Object的wait()和notify⽅法实现这种等待和唤醒
  4. 但是在Lock中怎么实现这种wait和notify呢?答案是Condition,学习Condition主要是为了⽅便以后学习blockqueue和concurrenthashmap的源码,同时也进⼀步理解ReentrantLock。