Program to demonstrate how to interrupt a thread in Java
package com.hubberspot.multithreading; public class InterruptedThread { public static void main(String[] args) { // 3. Create a thread by instantiating // an object from the class Thread count = new Counter(); // 4. Call the start() method of the // thread object count.start(); for(int i = 0; i < 100; i++) { // loops through till i == 5 // interrupts the Counter class thread at // i==5 if(i == 5){ try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } if(i == 5){ // Calling interrupt method on // count object count.interrupt(); } } } } class Counter extends Thread { public void run(){ int i = 0; // Till the thread is not interrupted // it loops and prints count while(!isInterrupted()){ System.out.println("Count is " + i++); try { // Have a pause so that // as soon as interruption occur // it throws InterruptedException and // thread of Counter class gets interrupted Thread.sleep(1000); } catch (InterruptedException e) { break; } } System.out.println("Thread Interrupted"); } }Output of the program :