Java多线程-线程通信

一:wait与notify

wait:执行该方法的线程对象,释放同步锁,JVM把该线程存放到等待池中,等待其他的线程唤醒该线程。
notify:执行该方法的线程唤醒在等待池等待的任意一个线程,把线程转到锁池中等待。
notifyAll:执行该方法的线程唤醒在等待池等待的所有线程,把线程转到锁池中等待。
多个线程只有使用同一对象的时候,多线程才有互斥效果,我们把这个用来做互斥的对象称之为同步监听对象/同步锁,同步锁对象可以是任意类型的对象即可,只要保证多个线程使用的相同锁对象即可,因为,只有同步监听对象才能调用wait和notify,所有这两个方法应存在于notify和wait,而不是thread.

Java多线程-线程通信