Web | This Site

Java Basics Examples
Java Tutorial
Java Useful Resources
Selected Reading
© 2011 TutorialsPoint.COM

| Home |  | References |  | Discussion Forums |  | About TP

# Java Examples - Checking a Thread

## Problem Description:

How to interrupt a running Thread?

## Solution:

Following example demonstrates how to interrupt a running thread interrupt() method of thread and check if a thread is interrupted using isInterrupted() method.

    public class GeneralInterrupt extends Object
    implements Runnable {
       public void run() {
          try {
             System.out.println("in run() -
             about to work2()");
             work2();
             System.out.println("in run() -
             back from  work2()");
          }
          catch (InterruptedException x) {
             System.out.println("in run() -
             interrupted in work2()");
             return;
          }
          System.out.println("in run() -
          doing stuff after nap");
          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) {
          GeneralInterrupt si = new GeneralInterrupt();
          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");
       }
    }

## Result:

The above code sample will produce the following result.

    in run() - about to work2()
    in main() - interrupting other thread
    in main() - leaving
    C isInterrupted()=true
    in run() - interrupted in work2()

Advertisement

Online Image Processing

Indian Baby Names