Thread Interrupt
# Java Example - Interrupting Threads
[ Java Examples](#)
The following example demonstrates how to use the `interrupt()` method to interrupt a thread and the `isInterrupted()` method to check if a thread has been interrupted:
## Main.java File
```java
public class Main extends Object implements Runnable{
public void run(){
try{
System.out.println("in run() - will run work2() method");
work2();
System.out.println("in run() - back from work2() method");
}catch(InterruptedException x){
System.out.println("in run() - interrupted work2() method");
return;
}
System.out.println("in run() - executing after sleep");
System.out.println("in run() - leaving normally");
}
public void work2()throws InterruptedException{
while(true){
if(Thread.currentThread().isInterrupted()){
System.out.println("C isInterrupted()=" + Thread.currentThread().isInterrupted());
Thread.sleep(2000);
System.out.println("D isInterrupted()=" + Thread.currentThread().isInterrupted());
}
}
}
public void work()throws InterruptedException{
while(true){
for(int i = 0; i<100000; i++){
int j = i * 2;
}
System.out.println("A isInterrupted()=" + Thread.currentThread().isInterrupted());
if(Thread.interrupted()){
System.out.println("B isInterrupted()=" + Thread.currentThread().isInterrupted());
throw new InterruptedException();
}
}
}
public static void main(String[]args){
Main si = new Main();
Thread t = new Thread(si);
t.start();
try{
Thread.sleep(2000);
}catch(InterruptedException x){}
System.out.println("in main() - interrupting other thread");
t.interrupt();
System.out.println("in main() - leaving");
}
}
The output of the above code is:
in run() - will run work2() method
in main() - interrupting other thread
in main() - leaving
C isInterrupted()=true
in run() - interrupted work2() method
[ Java Examples](#)
[](#)(#)
(#)[](#)
YouTip