YouTip LogoYouTip

Thread Interrupt

# Java Example - Interrupting Threads [![Image 3: Java Examples](#) 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 [![Image 4: Java Examples](#) Java Examples](#) [](#)(#) (#)[](#)
← Collection AllCollection Size β†’