Ví dụ về Java - Hoàn thành chuỗi

Mô tả vấn đề

Làm thế nào để kiểm tra một chủ đề đã dừng lại hay chưa?

Giải pháp

Ví dụ sau minh họa cách kiểm tra một luồng có dừng hay không bằng cách kiểm tra bằng phương thức isAlive ().

public class Main {
   public static void main(String[] argv)throws Exception { 
      Thread thread = new MyThread();
      thread.start();
      
      if (thread.isAlive()) {
         System.out.println("Thread has not finished");
      } else {
         System.out.println("Finished");
      }
      long delayMillis = 5000; 
      thread.join(delayMillis);
      
      if (thread.isAlive()) {
         System.out.println("thread has not finished");
      } else {
         System.out.println("Finished");
      }
      thread.join();
   }
}
class MyThread extends Thread {
   boolean stop = false;
   public void run() {
      while (true) {
         if (stop) {
            return;
         }
      }
   }
}

Kết quả

Mẫu mã trên sẽ cho kết quả như sau.

Thread has not finished
Finished