在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