在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