線程將在它的run方法返回時終止。在 JDK1.0中,還存在一個stop方法,其他線程可以調用它來終止線程。不過這個方法現在已經被棄用了。 盡管現在已經沒有強制終止線程的方法了,但是你還是可以用interrupt方法來請求終止一個線程。
當sleep方法拋出一個InterruptedException異常時,它同時也會清除中斷狀態。 你會在很多發布的代碼中發現InterruptedException異常被抑制在了一個很低的層次上,就像這樣:
不要這樣做!如果你不能很好地在catch字句中來處理異常,那么你還又兩個合理的選擇: 1)在catch字句中,調用Thread.currentThread().interrupt()來設置中斷狀態。然后調用者可以對其進行測試:
2)或者更好的方法,標記你的方法將拋出InterruptedException異常,讓調用(或者,最終的run方法)就能夠捕獲該異常。
Powered by: BlogJava Copyright © love1563