Ich habe ein Szenario, in dem ich einen Thread für bestimmte Zeit schlafen will.Wie man einen Thread für eine bestimmte Zeit in Java schlafen lässt?
Code:
public void run(){
try{
//do something
Thread.sleep(3000);
//do something after waking up
}catch(InterruptedException e){
// interrupted exception hit before the sleep time is completed.so how do i make my thread sleep for exactly 3 seconds?
}
}
Nun, wie gehe ich mit dem Fall, in dem der Faden i vor dem vollständigen des Schlaf mit einer unterbrochenen Ausnahme getroffen zu laufen bin versucht wird? Auch hat der Faden wake up unterbrochen und geht es um runnable Zustand oder wenn ist es, dass erst, nachdem es RUNNABLE geht wird der Strom schwimmen Block zu fangen?
Der Interrupt kann von einem externen Ereignis stammen, z. B. vom Betriebssystem als "ordnungsgemäßes Herunterfahren". –
@Tony: Es ist das gleiche Prinzip. die Unterbrechung gibt immer noch einen bewussten Wunsch, den Faden zu stornieren, es ist nicht irgendeine Art von planlos Fall, dass der Thread „Hit“ wird mit, wie die Formulierung der OP zu implizieren scheint. –