When the interrupt method is called on a thread, the interrupt state of the thread is set. This is the Boolean flag that each thread has.
Interrupt
The thread is disconnected.
1 Public void Interrupt ()
Test if the front thread has been interrupted.
Interrupt Ed:
1 Public Static boolean interrupted ()
The interrupt state of the thread is purged by this method.
Tests whether the thread has been interrupted.
is InterruptEd:
1 Public boolean isinterrupted ()
The interrupt state of the thread is not affected by the method.
Comments:
1. In the catch clause, call Thread.CurrentThread (). Interrupt () to set the interrupt state. The caller can then detect the user.
1 void Mysubtask () 2 {3... 4 Try {sleep (delay);} 5 Catch (interruptedexception e) {thread.currentthread (). interrupt ();} 6 ... 7 }
Alternatively, a better option would be to use the throws Interruptedexception tag method without using a try statement block to catch the exception. The caller (or, ultimately, the Run method) can then catch this exception.
1 void throws interruptexception 2 {3... 4 sleep (delay); 5 ... 6 }
Break Thread in