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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容