java创建单线程计时器_我们如何在Java中实现计时器线程?
該定時器類計劃任務一次或多次給定的時間運行。它也可以作為后臺程序線程在后臺運行。要將Timer與守護程序線程相關聯,有一個帶有布爾值的構造函數。計時器以固定的延遲和固定的速率安排任務。在固定的延遲中,如果系統GC延遲了任何執行,則其他執行也將延遲,并且每次執行都將延遲與先前的執行相對應的時間。在固定速率下,如果系統GC延遲了任何執行,則將連續執行2-3次執行,以覆蓋與第一個執行開始時間相對應的固定速率。Timer類提供一個cancel()取消計時器的方法。調用此方法時,計時器終止。Timer類僅執行實現TimerTask的任務。
示例import?java.util.*;
public?class?TimerThreadTest?{
public?static?void?main(String?[]args)?{
Task?t1?=?new?Task("Task?1");
Task?t2?=?new?Task("Task?2");
Timer?t?=?new?Timer();
t.schedule(t1,?10000);?//??executes?for?every?10?seconds??????t.schedule(t2,?1000,?2000);?//?executes?for?every?2?seconds???}
}
class?Task?extends?TimerTask?{
private?String?name;
public?Task(String?name)?{
this.name?=?name;
}
public?void?run()?{
System.out.println("["?+?new?Date()?+?"]?"?+?name?+?":?task?executed!");
}
}
輸出結果[Thu?Aug?01?21:32:44?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:46?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:48?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:50?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:52?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:53?IST?2019]?Task?1:?task?executed!
[Thu?Aug?01?21:32:54?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:56?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:32:58?IST?2019]?Task?2:?task?executed!
[Thu?Aug?01?21:33:00?IST?2019]?Task?2:?task?executed!
總結
以上是生活随笔為你收集整理的java创建单线程计时器_我们如何在Java中实现计时器线程?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 14.5 beta5更新内容及升
- 下一篇: java04376_Java - jdb