wait notify notifyAll 都是Object类的方法
wait notify notifyAll都是对实例的wait set 进行操作 所以他们是Object的方法比较合适
另外 注意有synchronized修饰的方法 当线程A对实例obj进行操作时 会加锁 别的线程不能进入 而obj.wait(),obj.notifyAll()方法调用
时都需要线程获取实例的锁定,例如 A线程正在操作实例obj时 obj.wait(),则A线程进入obj的wait set 线程B就可以获取obj的锁定进行对obj
的操作了 当B线程获取了锁定 然后执行obj.notifyAll() 则此时线程A退出obj的wait set 但此时线程B还拿着obj的锁定 只有当线程B执行完放开锁定线程A
才有可能继续获得锁定执行wait()后的代码