那么什么是暂停一个线程的最佳方式?到目前为止,我有这样的事情:在线程的主循环中,第一行是:如何在java中暂停线程?
while (paused == true) {
Thread.sleep(refreshRate);
}
和它的作品perfercly。我可以按P键更改暂停状态。但我在寻找更好,更专业的解决方案。我知道重入锁和条件。所以我可以在线程中使用它们。然后提示P会释放singalAll()方法。但是这会让我的应用程序变慢,因为我在这个线程中并不需要同步。那么什么是最好的,最有效的解决方法呢?也许使用同步块?
synchronized (new Object()) {
}
然后只是代码的一部分将被同步。或者,也许我应该使用信号量?
Thread.sleep()有什么问题?你是否想要tonleep,或者你是否想等待一个行动发生在那里继续? – AlexWien 2013-02-17 15:14:14
等到行动发生,然后继续是我想要的。 – user2080377 2013-02-17 15:28:43