1.何时使用
在多线程环境下,有时候一个线程的执行,依赖于另一个线程的某种状态的改变,这个时候,我们就可以使用wait与notify或者notifyAll
2.wait跟sleep的区别
wait会释放持有的锁,而sleep不会,sleep只会让线程在指定的时间内,不去抢占CPU资源。
3.注意点:wait notify必须放在同步代码快中,且必须拥有当前对象的锁,既不能取得A对象的锁,而调用B对象的wait 哪个对象wait ,就得调用哪个对象的notify.
4.notify跟notifyAll的区别
notify随机唤醒一个等待的线程
notifyAll唤醒所有在等待的线程