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