java - Thread类和Object类中的方法

标签 java multithreading

我们有start(), run() and join() methods当我们在线程对象上使用线程时,这些方法位于 Thread class 下.

wait(), notify(), and notifyAll()我们也将其与 Thread 对象一起使用,但这些方法位于 Object class 下.

我在想为什么需要在 Object 类下定义这些方法,因为我们只用 Threads 来调用它们?。每当我们调用 wait() 时我们就会知道对象进入等待状态,等待共享资源/条件满足,但这只能发生在线程环境中。

那么问题是为什么需要将这些方法放在Object类下?

如果我在这里遗漏了什么,请告诉我。

最佳答案

方法wait()/notify()/notifyAll()属于对象,因为它们像使用监视器一样使用该对象。

类似问题:

在提问之前尝试在 SO 上搜索相同的问题...

关于java - Thread类和Object类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249508/

相关文章:

java - 为什么 Collections.shuffle(List) 之后会出现空行?

java - java迭代器背后的概念是什么?

c# - 锁与 Interlocked.Exchange

java - java android 中的等待/恢复线程

python - 跨多个进程python 2.x的线程安全打印

java - 使用 Spring 的表单标签动态绑定(bind)列表

java - Kibana 的 Timelion : Field [timestamp_ms] of type [text] does not support custom time zones

java - ANTLR 错误 : Decision can match input using multiple alternatives

java - 有没有类似于传统线程的onPreExecute和onPostExecute的东西?

multithreading - swift - 使用 enumerateChildNodesWithName 的多线程错误