那么暂停线程的最佳方法是什么?到目前为止,我有这样的事情:在线程的主循环中,第一行是:
while (paused == true) {
Thread.sleep(refreshRate);
}
它工作得很好。我可以按 P 键更改暂停状态。但我正在寻找更好、更专业的解决方案。我知道可重入锁和条件。所以我可以在线程上使用它们。然后按下 P 将释放 singalAll() 方法。但由于我在这个线程中并不真正需要同步,它会大大降低我的应用程序的速度。那么解决这个问题的最好、最有效的方法是什么?也许使用同步块?
synchronized (new Object()) {
}
然后只同步部分代码。或者也许我应该使用信号量?