欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java怎么實現暫停和計時器

劉姿婷1年前7瀏覽0評論

Java是一種十分流行的編程語言,可以用于開發各種類型的應用程序。在許多應用程序中,暫停和計時器是十分常見的功能。在Java中,我們可以使用線程實現暫停和計時器的功能,下面是一個簡單的示例。

/**
* 暫停程序的線程
*/
class PauseThread extends Thread {
private volatile boolean isPaused = false;
public void pauseThread() {
isPaused = true;
}
public void resumeThread() {
isPaused = false;
}
@Override
public void run() {
while (true) {
if (isPaused) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
System.out.println("正在執行任務...");
}
}
}
}
/**
* 計時器的線程
*/
class TimerThread extends Thread {
private volatile boolean isFinished = false;
private int count;
public int getCount() {
return count;
}
public boolean isFinished() {
return isFinished;
}
@Override
public void run() {
while (!isFinished) {
try {
Thread.sleep(1000);
count++;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public class Main {
public static void main(String[] args) {
PauseThread pauseThread = new PauseThread();
pauseThread.start();
TimerThread timerThread = new TimerThread();
timerThread.start();
try {
// 模擬執行任務5秒
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pauseThread.pauseThread();
System.out.println("暫停程序運行...");
try {
// 模擬暫停1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
pauseThread.resumeThread();
System.out.println("恢復程序運行...");
while (!timerThread.isFinished()) {
System.out.println("程序已經運行了 " + timerThread.getCount() + " 秒...");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("程序運行結束...");
}
}

上述代碼中,我們定義了兩個線程:PauseThread和TimerThread。PauseThread用于實現暫停程序的功能,TimerThread用于實現計時器的功能。在主程序中,我們先啟動兩個線程,然后模擬執行任務5秒后暫停程序1秒,然后恢復程序運行。最后我們采用while循環來判斷計時器線程是否已經完成,并輸出程序運行的總時間。