Dừng Thread trong Java



Miêu tả vấn đề

Cách dừng thread trong Java?

Giải pháp

Ví dụ sau minh họa cách dừng một thread bằng việc tạo một phương thức user-defined là run(), với sự giúp đỡ của các phương thức lớp Timer trong Java.

import java.util.Timer;
import java.util.TimerTask;class CanStop extends Thread {
   private volatile boolean stop = false;
   private int counter = 0;
   public void run() {
      while (!stop && counter < 10000) {
         System.out.println(counter++);
      }
      if (stop)
      System.out.println("Detected stop"); 
   }
   public void requestStop() {
      stop = true;
   }
}
public class Stopping {
   public static void main(String[] args) {
      final CanStop stoppable = new CanStop();
      stoppable.start();
      new Timer(true).schedule(new TimerTask() {
         public void run() {
            System.out.println("Requesting stop");
            stoppable.requestStop();
         }
      }, 350);
   }
} 

Kết quả

Code trên sẽ cho kết quả sau:

Detected stop

thread_trong_java.jsp