那麼什麼是暫停一個線程的最佳方式?到目前爲止,我有這樣的事情:在線程的主循環中,第一行是:如何在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