0
A
回答
0
這是了Thread.interrupt什麼:
import java.util.Date;
public class Test {
public static void main(String [] args) {
Thread t1 = new Thread(){
public void run(){
System.out.println(new Date());
try {
Thread.sleep(10000); // sleep for 10 seconds.
} catch (InterruptedException e) {
System.out.println("Sleep interrupted");
}
System.out.println(new Date());
}
};
t1.start();
try {
Thread.sleep(2000); // sleep for 2 seconds.
} catch (InterruptedException e) {
e.printStackTrace();
}
t1.interrupt();
}
}
線程T1將只能睡2秒,因爲主線程中斷了。請記住,這會中斷許多阻塞操作,如IO。
+2
是的。 Thread.interrupt()將中斷wait()(所有變體),sleep()以及所有阻塞IO。當你想放棄任何線程正在做的事情時,通常會使用中斷。但是,如果您想等待某些事情發生,則應該使用wait()/ notify()。在Java教程中閱讀它們。 – pron 2012-02-01 16:23:07
5
我覺得你需要的是實現wait()/ notify()!看看這個教程:http://www.java-samples.com/showtutorial.php?tutorialid=306
有很多在那裏!如果您需要更具體的案例,請發佈一段代碼!
歡呼
1
你可以使用wait()
和notify()
。如果您的線程正在等待,您需要通過從另一個線程呼叫notify()
來恢復它。
相關問題
- 1. 讓線程等待
- 2. RxJS - 等待繼續
- 3. 等待線程繼續在Android
- 4. 讓Matlab繼續而不等待結果
- 5. 等待的條件繼續
- 6. Delphi的線程等待數據,對其進行處理,然後繼續等待
- 7. 等待叉孩子繼續
- 8. 等待異步塊繼續
- 9. 等待關於流繼續
- 10. 繼續等待輸入的程序C++
- 11. 等待線程
- 12. 等待的線程
- 13. 等待過程
- 14. 讓主線等待事件
- 15. 多線程 - 等待線程
- 16. 讓jQuery等待
- 17. 等待2線程完成前繼續程序
- 18. 讓Winforms應用程序等待幾分鐘後再繼續
- 19. 如何讓程序在繼續之前等待鼠標點擊
- 20. 繼續在特定的等待
- 21. 的Javascript - 等待事件繼續
- 22. C# - 如何讓這個線程等待?
- 23. 讓Android MainActivity等待線程完成
- 24. c#如何讓線程等待
- 25. 如何讓EDT等待後臺線程?
- 26. Python:如何不等待線程完成繼續?
- 27. 等待函數完成後再繼續主(一個線程)
- 28. 線程設計時需要兩個:等待並繼續
- 29. Android:線程同步:等待一個對話框關閉繼續
- 30. Java如何在繼續之前等待
您是否在等待超時?或者你在等待並通知? – Guillaume 2012-02-01 16:09:20
我正在使用等待超時。 – HansiHE 2012-02-01 16:11:03
代碼示例將有所幫助 – 2012-02-01 16:12:43