线程间的通信

Synchrnoized加锁的线程的Object类的wait/notify/notiAll
(1)这三个方法是本地方法,同时是final方法,无法被重写
(2)wait()使用当前线程进入阻塞
notify()唤醒一个正在等待当前对象mointor锁的线程,如果有多个线程都在等待对象mointor,随机选择唤醒
(3)wait/notify/notifyAll使用在synchronized方法中或同步代码块中

锁池:获取某一对象的monitor lock,如果当前对象的monitor lock被其他线程锁获取,当前没有获取到该对象monitor lock的线程就会进入锁池

等待池:某一线程调用某一对象的wait方法之后,当前对象就会释放该对象的锁,进入到该对象的等待池当中线程间的通信