大家好抱歉打扰你,我有一个类,我已经实现了runnable,然后我有一个run()方法,我使用thread.sleep()每隔一段时间运行一个小程序.-这没有任何作用发布并定期运行代码。
但是我对如何在我班级中的其他方法中使用thread.sleep()感到困惑,有人能指引我朝正确的方向发展吗?
如果事先简单,请道歉。代码示例:
// Search product: returns list of matching titles
public String[] find_titles(String title) throws RemoteException{
try {
Thread.sleep(5000); //pause execution for 2s
} catch(InterruptedException e) {
//error running the thread!
System.exit(1);
}
...
}
答案 0 :(得分:4)
Thread.sleep()
将导致当前线程进入休眠状态。如果在主执行线程中使用它,那么主程序将暂停,不执行任何其他操作。如果你的主线程调用一个runnable线程将在它调用Thread.sleep()
时暂停,但你的主线程或任何其他线程仍然会运行。
答案 1 :(得分:3)
Thread.sleep()
是Thread
类中的静态方法。这意味着它只睡眠当前正在运行的线程。
根据Thread.sleep的JavaDoc
说:
使当前正在执行的线程休眠(暂时停止执行)指定的毫秒数,具体取决于系统定时器和调度程序的精度和准确性。该线程不会失去任何监视器的所有权。
在此处详细了解Pausing Execution with Sleep
现在它取决于你在哪里调用线程将睡眠的Thread.sleep()
方法。
我希望你明白。