如何在 Java 中检查线程是否已停止
问题描述
如何检查线程是否已停止?
解决方案
以下示例演示如何通过使用 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; } } } }
结果
上述代码示例将产生以下结果。
Thread has not finished Finished
java_threading.html