java线程睡眠一分钟_Java中的TimerTimerTask和线程睡眠
我發現類似的問題在這里問,但沒有回答我的滿意。所以再次重申這個問題 –
我有一個需要定期完成的任務(比如說1分鐘間隔)。使用Timertask&計時器做這個,而不是創建一個新的線程,有一個無限循環睡眠?
代碼片段使用timertask-
TimerTask uploadCheckerTimerTask = new TimerTask(){
public void run() {
NewUploadServer.getInstance().checkAndUploadFiles();
}
};
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000);
代碼片段使用Thread和sleep-
Thread t = new Thread(){
public void run() {
while(true) {
NewUploadServer.getInstance().checkAndUploadFiles();
Thread.sleep(60 * 1000);
}
}
};
t.start();
我真的不必擔心,如果我錯過某些周期,如果邏輯的執行超過間隔時間。
請評論這個..
謝謝,
-Keshav
更新:
最近我發現使用Timer和Thread.sleep()之間的另一個區別。假設當前系統時間為11:00 AM。如果我們由于某種原因將系統時間回滾到10:00 AM,定時器將停止執行任務,直到它達到11:00 AM,而Thread.sleep()方法將繼續執行任務而沒有障礙。這可以是決定在這兩者之間使用什么的主要決策者。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java线程睡眠一分钟_Java中的TimerTimerTask和线程睡眠的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 的select语句_MYSQ
- 下一篇: java浮点整型数组_如何将C风格的二进