0
我正在製作一個項目,在這個項目中我會在某段時間後發生某些事情, 我計算出那個時間在睡覺方法中的時間。 如果我再次改變時間,那麼我想結束前一個線程並開始一個新的線程。 所以我想知道如何結束睡眠方法中的線程而不執行它的運行方法。如何在睡眠時結束線程?
我正在製作一個項目,在這個項目中我會在某段時間後發生某些事情, 我計算出那個時間在睡覺方法中的時間。 如果我再次改變時間,那麼我想結束前一個線程並開始一個新的線程。 所以我想知道如何結束睡眠方法中的線程而不執行它的運行方法。如何在睡眠時結束線程?
當您爲Blackberry編程時,我會假設Java?
如果是的話,不要用Thread.sleep()
等待,而是wait()
的監視器上,您可以再notifyAll()
,即
private Object waitObject = new Object();
public void doWait() {
synchronized (waitObject) {
waitObject.wait(10*1000); // wait up to 10 seconds
}
}
public void wakeUp() {
synchronized (waitObject) {
waitObject.notifyAll();
}
}
的塊是重要的,因爲你需要爲自己的顯示器,你想等待或通知。
您可以提供有關您正在使用的語言的更多信息嗎? – Raghuram 2010-07-28 07:31:19