Java如何檢查線程是否停止?

在Java編程中,如何檢查線程是否停止?

以下示例演示如何通過使用isAlive()方法來檢查線程是否已停止。

// from W w w .Y I I b  AI.c  o  M
package com.zaixian;

public class ThreadCompletion {
    public static void main(String[] argv) throws Exception {
        MyThread 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() {
        int i = 0;
        while (stop) {
            return ;
        }
    }
}

上述代碼示例將產生以下結果 -

Thread has not finished
Finished

上一篇: Java線程 下一篇: Java簡單GUI實例