我们有start(), run() and join() methods
当我们在线程对象上使用线程时,这些方法位于 Thread class
下.
和wait(), notify(), and notifyAll()
我们也将其与 Thread 对象一起使用,但这些方法位于 Object class
下.
我在想为什么需要在 Object 类下定义这些方法,因为我们只用 Threads
来调用它们?。每当我们调用 wait()
时我们就会知道对象进入等待状态,等待共享资源/条件满足,但这只能发生在线程环境中。
那么问题是为什么需要将这些方法放在Object类下?
如果我在这里遗漏了什么,请告诉我。
最佳答案
方法wait()
/notify()
/notifyAll()
属于对象,因为它们像使用监视器一样使用该对象。
类似问题:
- Why wait ,notify and notifyAll Methods are in Object Class?
- Why are wait() and notify() declared in Java's Object class?
- why wait/notify/notifyAll methods are not synchronized in java ?
在提问之前尝试在 SO 上搜索相同的问题...
关于java - Thread类和Object类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249508/