- Java 程式設計範例
- 範例 - Home
- 範例 - 環境
- 範例 - 字串
- 範例 - 陣列
- 範例 - 日期和時間
- 範例 - 方法
- 範例 - 檔案
- 範例 - 目錄
- 範例 - 異常
- 範例 - 資料結構
- 範例 - 集合
- 範例 - 網路
- 範例 - 執行緒
- 範例 - 小程式
- 範例 - 簡單 GUI
- 範例 - JDBC
- 範例 - 正則表示式
- 範例 - Apache PDF Box
- 範例 - Apache POI PPT
- 範例 - Apache POI Excel
- 範例 - Apache POI Word
- 範例 - OpenCV
- 範例 - Apache Tika
- 範例 - iText
- Java 教程
- Java - 教程
- Java 實用資源
- Java - 快速指南
- Java - 實用資源
如何在 Java 中暫停執行緒
問題描述
如何暫停執行緒?
解決方案
以下示例演示如何透過建立自定義方法 run() 並藉助 Timer 類的辦法暫停執行緒。
import java.util.Timer;
import java.util.TimerTask;
class CanStop extends Thread {
private volatile boolean stop = false;
private int counter = 0;
public void run() {
while (!stop && counter < 10000) {
System.out.println(counter++);
}
if (stop)
System.out.println("Detected stop");
}
public void requestStop() {
stop = true;
}
}
public class Stopping {
public static void main(String[] args) {
final CanStop stoppable = new CanStop();
stoppable.start();
new Timer(true).schedule(new TimerTask() {
public void run() {
System.out.println("Requesting stop");
stoppable.requestStop();
}
},
350);
}
}
結果
上述程式碼示例將產生以下結果。
Detected stop
java_threading.htm
廣告