我有執行主線程產生新線程。在main()中執行的主線程中,我打電話給Thread.sleep()
。何時可以得到未處理的異常類型InterruptedException
?睡眠從主線程正在拋出InterruptedException
我不確定爲什麼我得到這個。我認爲這是因爲我需要參考主線程,所以我繼續前進,並通過Thread.currentThread()
進行了參考。
這不是讓線程睡眠的方法嗎?我需要做的是讓主線程等待/睡眠/延遲,直到它再次需要工作。
我有執行主線程產生新線程。在main()中執行的主線程中,我打電話給Thread.sleep()
。何時可以得到未處理的異常類型InterruptedException
?睡眠從主線程正在拋出InterruptedException
我不確定爲什麼我得到這個。我認爲這是因爲我需要參考主線程,所以我繼續前進,並通過Thread.currentThread()
進行了參考。
這不是讓線程睡眠的方法嗎?我需要做的是讓主線程等待/睡眠/延遲,直到它再次需要工作。
由於您沒有正確處理檢查的異常(在這種情況下爲InterruptedException
),您所看到的是編譯錯誤。操縱裝置執行以下操作之一:
1)宣告所述方法throws InterruptedException
,因此要求呼叫者來處理與一個try{..}catch(..){..}
塊捕捉它的例外
2)。例如:
try {
Thread.sleep(1500);
} catch(InterruptedException e) {
System.out.println("got interrupted!");
}
InterruptedException
用於指示,而這是執行一些阻塞操作當前線程已經通過外螺紋中斷(例如中斷IO,等待,休眠)
Thread.sleep(t);
這就是你如何讓你的線程等待。其中t以毫秒爲單位。 它在我的主要方法中工作正常,所以要找出你的問題,如果你能在這裏提供你的代碼會更好。
在生產線,其中你定義的主開始,只包括拋出異常。我也面臨類似的問題,這有助於。在這個包含之後,您不需要包含Thread.sleep(xx);裏面的try-catch語句
任何代碼將不勝感激:)。 – 2010-04-18 18:41:58
我所做的或已經完成的所有調用Thread.sleep(一定數量的毫秒)或使用Thread t = Thread.currentThread()對主線程(我認爲這就是它在做什麼)進行引用,然後調用t.sleep(一些毫秒)。這兩種情況都引發了InterruptedException。 – Chris 2010-04-18 18:46:39