現在項目中用到需要定時去檢查文件是否更新的功能。timer正好用於此處。
用法很簡單,new一個timer,然後寫一個timertask的子類即可。
代碼如下:
package comz.autoupdatefile; import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TODO todo.generated by zoer Timer timer = new Timer(); timer.schedule(new MyTask(), 1000, 2000); } } class MyTask extends TimerTask { @Override public void run() { System.out.println("dddd"); } }
這樣,就可以在1秒鐘之後開始執行mytask,每兩秒鐘執行一次。
當然,timer的功能也可以通過自己構造線程,然後在線程中用sleep來模擬停止一段時間,然後再執行某個動作。
其實,看一下timertask的源碼就立即可以知道,timertask就是實現了runnable接口的。也就是說,通過timer來間隔一段時間執行一個操作,也是通過一個線程來做到的。