Java timer 使用
写了一个一直运行的程序,我本意是想要1分钟调用一次计时器,minutes的值是1,刚刚运行的时候是没问题的,可是连续运行三四天之后,发现每分钟有好几次计时器的输出。整个程序中,仅调用一次start,请问是使用错误了吗?代码如下
public void start() { timer.schedule(new TimerTask() { public void run() { exec(); //timer.cancel(); } private void exec() { String tmp = TimeUtil.getAllTime(); String time1 = tmp.substring(0,4); System.out.println("Timer is Running:"+tmp); if(time1.equals(mytime1)) { tds.newFile(); System.out.println("Reach 8:30,create new file"); iswriteFlag =1; }else if(time1.equals(refreshTime)) { iswriteFlag =0; }else { } // Start a new thread to play a sound... } }, minutes * 60 * 1000, minutes * 60 * 1000);// 使用毫秒计数 //}, 2000,2000);// 使用毫秒计数 }