Pausing a Thread: set a variable that the thread checks occasionally, call Object.wait() : Thread Status « Threads « Java






Pausing a Thread: set a variable that the thread checks occasionally, call Object.wait()

 

public class Main {
  public static void main(String[] argv) throws Exception {
    MyThread thread = new MyThread();
    thread.start();

    while (true) {
      synchronized (thread) {
        thread.pause = true;
      }
      synchronized (thread) {
        thread.pause = false;
        thread.notify();
      }
    }
  }
}

class MyThread extends Thread {
  boolean pause = false;

  public void run() {
    while (true) {
      synchronized (this) {
        while (pause) {
          try {
            wait();
          } catch (Exception e) {
          }
        }
      }
    }
  }
}

   
  








Related examples in the same category

1.Is thread aliveIs thread alive
2.Thread sleepThread sleep
3.Another way to stop a threadAnother way to stop a thread
4.Another way to suspend and resumeAnother way to suspend and resume
5.Visual suspend and resumeVisual suspend and resume
6.Thread sleep and interruptThread sleep and interrupt
7.Daemon ThreadDaemon Thread
8.Pausing the Current Thread: a thread can temporarily stop execution.
9.set Uncaught Exception Handler
10.Monitor a thread's status.
11.Pause the execution
12.Interrupt a thread.
13.Stopping a Thread: set a variable that the thread checks occasionally
14.Determining When a Thread Has Finished
15.Add a delay
16.Pause the execution of a thread using sleep()