爲了滿足我公司的我需要實現一個循環Java循環睡眠
- 讀取具有同等的標誌字段記錄的需求,
- 要麼睡覺(如果結果爲空)或執行
- 更新狀態
- 在記錄由數據概述任務並重復1.
環路的用戶應該能夠通過從循環外部設置標誌來切換循環。
我嘗試過使用while
循環與sleep
執行它,但我想知道是否有更好的選擇。
爲了滿足我公司的我需要實現一個循環Java循環睡眠
環路的用戶應該能夠通過從循環外部設置標誌來切換循環。
我嘗試過使用while
循環與sleep
執行它,但我想知道是否有更好的選擇。
A cron job(Unix樣式名稱),任務調度程序。搜索將產生一些像石英這樣的庫。他們是基於計時器的。
我personnaly會使用Timer和TimerTask這似乎滿足您的要求,並已包含在JDK中。
否則,你也可以看看Quartz這是更完整的。
下面是一個使用計時器每秒啓發this page一次執行任務的例子:
public class Reminder {
Timer timer;
public startReminder() {
timer = new Timer();
timer.schedule(new RemindTask(),
0, //initial delay
1*1000); //subsequent rate
}
class RemindTask extends TimerTask {
public void run() {
System.out.println("Time's up!");
//use timer.cancel() to stop the reminder
}
}
}
...
javafx.animation.PauseTransition
也是一種選擇:
PauseTransition pause = new PauseTransition(
Duration.seconds(2)
);
pause.setOnFinished(event -> System.out.println("Woke up...."));
System.out.println("Going to sleep....");
pause.play();
我對Javafx知之甚少,但'PauseTransion'只能執行一次。 TimeLine似乎更符合要求。無論如何,我不喜歡在看起來像後端代碼的情況下使用表示級元素的想法。 –
我同意。它不適合任何目的。 – c0der
也許你看看'.wait ()'。 – Blobonat
我建議看看[TimerTask](https://docs.oracle.com/javase/8/docs/api/java/util/TimerTask.html) –
@RexWagenius我現在正在看它。也許這有助於給我一個我需要的例子。 –