2012-09-20 82 views
0

有沒有辦法讓Java程序坐在系統托盤中不斷檢查計算機日期?也許不是每一秒鐘,但每分鐘左右?是否可以在不佔用計算機所有資源的情況下完成?Java不斷檢查日期

目前我正在考慮運行日期檢查方法,它只是檢查按鈕按下的日期,但這有點跛腳,並不會像我想要的那樣工作。

+0

爲什麼不創建一個線程來檢查'new Date()'的日期,然後在60000 ms之後休眠? – svz

+0

你介意我問你爲什麼要約會嗎?爲什麼不抽樣一次,然後創建一個你想要的日期的計時器? – naugler

回答

3

您可以使用a ScheduledExecutorService - 這將只使用您的checkDate方法所需的資源(+不會引人注意的輕微開銷)。

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); 
Runnable r = new Runnable() { 
    @Override 
    public void run() { 
     checkDate(); 
    } 
}; 
scheduler.scheduleAtFixedRate(r, 1, 1, TimeUnit.MINUTES); 
+0

非常感謝,這可能會做! – Granitas

1

你應該看看調度庫,像Quartz或使用由ScheduledExecutorServicejava.util.concurrent提供的支持。