在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 ; } } }
上述代码示例将产生以下结果 -
Thread has not finished
Finished