为什么Object类有Thread方法?

sri*_*nkl 5 java api-design

为什么类中有与Object线程相关的方法,例如wait(),,,notify()notifyAll()

我们需要扩展Thread或实现Runnable为类提供类似线程的行为。那么为什么它们不成为任何物体的一部分ThreadRunnable

NIN*_*OOP 5

Java并发模型使用锁来实现多线程环境中对象的互斥访问,并且锁与Java中的每个对象(类型为“Object”)相关联,而不仅仅是与线程相关联。

1)wait和notify是Java中两个线程之间的通信机制。类Object是使它们可用于每个对象的正确位置,因为它是所有对象的超类。

2)锁是在每个对象的基础上可用的,这是在对象类而不是线程类中声明等待和通知的另一个原因。


Mir*_*ari 0

如果一个线程锁定了一个对象实例,则对该对象实例调用notify将唤醒这些线程。因此,由于锁是一个对象实例,因此与该锁相关的操作都属于该对象实例。