- wait 和 notify方法都是定义在Object类中的,而且是final的,因此会被所有的java类所继承并且无法重写。这两个方法要求在调用时线程应该已经获得了对象的锁,因此对这另个方法的调用需要放在synchronnized方法或块中。
- 当线程执行了wait方法时,它会释放掉对象的锁。其他线程就有可能会得到线程的锁。
- 另一个会导致线程暂停的方法就是Thread类的sleep方法,他会导致线程睡眠指定的毫秒数,但是线程睡眠的过程中不会释放掉对象的锁。
- notify方法会唤醒所有wait的方法。