Java如何检查线程是否停止?

在Java编程中,如何检查线程是否停止?

以下示例演示如何通过使用isAlive()方法来检查线程是否已停止。

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

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 ;
        }
    }
}
Java

上述代码示例将产生以下结果 -

Thread has not finished
Finished
posted @ 2018-09-09 13:28  borter  阅读(498)  评论(0编辑  收藏  举报