有沒有辦法讓Java程序坐在系統托盤中不斷檢查計算機日期?也許不是每一秒鐘,但每分鐘左右?是否可以在不佔用計算機所有資源的情況下完成?Java不斷檢查日期
目前我正在考慮運行日期檢查方法,它只是檢查按鈕按下的日期,但這有點跛腳,並不會像我想要的那樣工作。
有沒有辦法讓Java程序坐在系統托盤中不斷檢查計算機日期?也許不是每一秒鐘,但每分鐘左右?是否可以在不佔用計算機所有資源的情況下完成?Java不斷檢查日期
目前我正在考慮運行日期檢查方法,它只是檢查按鈕按下的日期,但這有點跛腳,並不會像我想要的那樣工作。
您可以使用a ScheduledExecutorService
- 這將只使用您的checkDate
方法所需的資源(+不會引人注意的輕微開銷)。
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Runnable r = new Runnable() {
@Override
public void run() {
checkDate();
}
};
scheduler.scheduleAtFixedRate(r, 1, 1, TimeUnit.MINUTES);
非常感謝,這可能會做! – Granitas
你應該看看調度庫,像Quartz或使用由ScheduledExecutorService
在java.util.concurrent
提供的支持。
爲什麼不創建一個線程來檢查'new Date()'的日期,然後在60000 ms之後休眠? – svz
你介意我問你爲什麼要約會嗎?爲什麼不抽樣一次,然後創建一個你想要的日期的計時器? – naugler