为什么Java中 wait、notify和notifyAll是Object类的方法

在考虑这个问题时,从这几个方法所做的事情来考虑可能更容易理解。对象 obj 分别调用wait、notify和notifyAll三个方法时所做的事:
• obj.wait() 是将当前线程放入 obj 对象的等待队列中
• obj.notify() 是从 obj 的等待队列中唤醒一个线程
• obj.notifyAll() 是唤醒 obj 等待对列中的所有线程

也就是说,wait、notify和notifyAll 这三个方法与其说是针对线程的操作,倒不如说是针对实列obj的等待队列的操作。由于所有实例都有等待队列,所以这三个方法也就成为Object类的方法。

参考书籍:图解Java多线程设计模式

你可能感兴趣的:(为什么Java中 wait、notify和notifyAll是Object类的方法)