class InterruptDemo extends Thread{ public void run(){ try{ Thread.sleep(1000); System.out.println("task"); }catch(InterruptedException e){ throw new RuntimeException("Thread interrupted..."+e); } } public static void main(String args[]){ InterruptDemo t1 = new InterruptDemo(); t1.start(); try{ t1.interrupt(); }catch(Exception e){ System.out.println("Exception handled "+e); } } }
class InterruptDemo extends Thread{ public void run(){ try{ Thread.sleep(1000); System.out.println("task"); }catch(InterruptedException e){ System.out.println("Exception handled "+e); } } public static void main(String args[]){ InterruptDemo t1 = new InterruptDemo(); t1.start(); try{ t1.interrupt(); }catch(Exception e){ System.out.println("Exception handled "+e); } System.out.println("thread is running..."); } }output:
class InterruptThread extends Thread{ public void run(){ for(int i=1;i<=5;i++) System.out.println(i); } public static void main(String args[]){ InterruptThread t1 = new InterruptThread(); t1.start(); t1.interrupt(); } }output:
class InterruptedDemo extends Thread{ public void run(){ for(int i=1;i<=2;i++){ if(Thread.interrupted()){ System.out.println("code for interrupted thread"); } else{ System.out.println("code for normal thread"); } }//end of for loop } public static void main(String args[]){ InterruptedDemo t1=new InterruptedDemo(); InterruptedDemo t2=new InterruptedDemo(); t1.start(); t1.interrupt(); t2.start(); } }output:
Labels: multithreading