Java如何檢查一個線程停止或冇有?
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