我试图理解 java wait() 和 sleep() 方法之间的以下区别。我了解每个人的基本功能,但经常与以下陈述混淆。
wait is called on Object while sleep is called on Thread.
相对于下面的代码,上面语句中的对象是什么,因为即使线程对象 t 也是像 java 中的任何其他对象一样创建的。
public class MyRunnableThreadClass implements Runnable{
public void run(){
try{
Thread.sleep
}
catch(Exception e){}
}
public class ThreadDemo {
Thread t = new Thread ( new MyRunnableThreadClass());
}
请帮忙,在这种情况下,哪个是对象,哪个是线程
最佳答案
wait is called on Object while sleep is called on Thread.
这个说法甚至不正确。
wait()
是Object的非静态方法,
因此必须使用特定实例调用。sleep()
是Thread
的一个静态方法,所以它不需要具体的实例,但它所做的就是把当前的线程 hibernate 。它是通过静态调用Thread.sleep() 来调用的。
与任何特定对象完全无关。
关于java - wait 在对象上调用,而 sleep 在线程上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21976953/