轉:基礎知識:檢測執行緒是否結束的方法收藏
檢測執行緒是否結束的方法收藏
Package net.java2000.lang;
/**
* 檢測執行緒是否結束的方法。
*
* @author 趙學慶,Java世紀網(java2000.net)
*
*/
public class ThreadDetermingFinish {
public static void main(String[] args) {
// 建立並啟動執行緒
MyThreadToDeterming thread = new MyThreadToDeterming();
thread.start();
// 非阻塞的方式檢測執行緒是否完成
if (thread.isAlive()) {
System.out.println("執行緒在執行中");
} else {
System.out.println("執行緒已經結束");
}
// 用一段指定的時間,等待執行緒結束
long delayMillis = 1000;
try {
System.out.println("開始等待一段時間...");
thread.join(delayMillis);
if (thread.isAlive()) {
System.out.println("等待結束:執行緒在執行中");
} else {
System.out.println("等待結束:執行緒已經結束");
}
} catch (InterruptedException e) {
System.out.println("等待被中斷了");
}
// 等待執行緒結束
try {
System.out.println("開始等待直到結束...");
thread.join();
System.out.println("執行緒已經結束");
} catch (InterruptedException e) {
System.out.println("等待被中斷了");
}
}
}
class MyThreadToDeterming extends Thread {
public void run() {
int i = 20;
while (i-- > 0) {
// 我們故意讓這個執行緒休眠100毫秒
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(this.getClass().getName() + " is running...");
}
System.out.println(this.getClass().getName() + " is stopping...");
}
}
執行結果
執行緒在執行中
開始等待一段時間...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
等待結束:執行緒在執行中
開始等待直到結束...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is running...
net.java2000.lang.MyThreadToDeterming is stopping...
執行緒已經結束
Trackback:http://blog.csdn.net/java2000_net/archive/2008/08/29/2849890.aspx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/220284/viewspace-1009967/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行緒的基礎知識(轉載)執行緒
- 多執行緒基礎知識執行緒
- Android 基礎知識——執行緒Android執行緒
- 多執行緒基礎知識點梳理執行緒
- JAVA基礎知識系列---程式、執行緒安全Java執行緒
- JAVA基礎知識系列—程式、執行緒安全Java執行緒
- 多執行緒程式設計基礎知識執行緒程式設計
- java多執行緒基礎知識速通Java執行緒
- 多執行緒程式設計的基礎知識點執行緒程式設計
- Android小知識-Java多執行緒的基礎知識瞭解下AndroidJava執行緒
- 多執行緒基礎必要知識點!看了學習多執行緒事半功倍執行緒
- 關於 iOS/OS X 執行緒安全的基礎知識iOS執行緒
- 多執行緒面試必備基礎知識彙總執行緒面試
- Java基礎知識回顧之五 ----- 多執行緒Java執行緒
- Thread執行緒的基礎知識及常見疑惑點thread執行緒
- 建立執行緒知識點總結執行緒
- 執行緒學習知識總結執行緒
- Java多執行緒程式設計基礎知識彙總Java執行緒程式設計
- 收藏: 全面解析FPGA基礎知識FPGA
- 達夢資料庫基礎知識(四)管理DM執行緒資料庫執行緒
- 多執行緒(三)、執行緒池 ThreadPoolExecutor 知識點總結執行緒thread
- java執行緒程式設計(一):執行緒基礎(轉)Java執行緒程式設計
- 值得收藏的資料分析基礎知識
- [C#.NET 拾遺補漏]11:最基礎的執行緒知識C#執行緒
- Java:多執行緒等待所有執行緒結束(CountDownLatch/CyclicBarrier) .Java執行緒CountDownLatch
- 執行緒基礎執行緒
- Redis基礎知識(學習筆記6--執行緒IO模型)Redis筆記執行緒模型
- 【多執行緒總結(一)-基礎總結】執行緒
- 執行緒基本知識點執行緒
- Win32執行緒——等待另一個執行緒結束Win32執行緒
- 玩轉java多執行緒 之多執行緒基礎 執行緒狀態 及執行緒停止實戰Java執行緒
- java基礎之執行緒 認識volatileJava執行緒
- java基礎之執行緒 認識原子類Java執行緒
- Java執行緒池一:執行緒基礎Java執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- 資料庫基礎知識總結(轉)資料庫
- JAVA執行緒中的安全知識Java執行緒
- Java 執行緒基礎Java執行緒