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