Thread general interrupt : Thread Attributes « Threads « Java






Thread general interrupt

Thread general interrupt
 
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");
  }
}

           
         
  








Related examples in the same category

1.Thread nameThread name
2.Get Thread nameGet Thread name
3.Thread PriorityThread Priority
4.Set Thread PrioritySet Thread Priority
5.Thread Interrupt when calculating PiThread Interrupt when calculating Pi
6.Thread pending and interruptThread pending and interrupt
7.Thread interrupt resetThread interrupt reset
8.Thread interrupt checkThread interrupt check
9.Thread priority informationThread priority information
10.Thread IDThread ID
11.ThreadGroup EnumerateThreadGroup Enumerate
12.Utilities to manage thread ids