我想让一个程序每五秒钟就运行一次 而不管它在这五秒钟内是否运行完一次timer里的schedule(TimerTask task, 0, 5000) 方法 会一直等待一次执行完毕后才会继续等待5秒钟进行下一次执行scheduleAtFixedRate(TimerTask task, 0,5000) 只会尽量的保证一个速率 也是等到一次执行完毕后 才能执行下一次问问各位大神们有没有办法 就是不管他当前本次有没有执行完 5秒一过就立即执行下一次 再5秒又立即一次呢
调试欢乐多
建议用quartz.
表示木有听说过 quartz是神马?不要用你头像的句子回复我幺
public void run(){
while(1>0){
//延时的方法有两种,这是第一种。
try{Thread.sleep(5000);}catch(Exception e){}
//这里写要执行的任务
}
}
})).start();
而且楼上说的Timer每5秒启动一个线程。纯属扯淡。每个Timer对象,在后台都对应一个线程用来执行TimeTask.
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
//每个方法均由一个线程去调度
new ThreadForEveryMothed(aa,bb,,object).start();//这是单独起的线程,具体 任务封装在里面
} }, 0, 5000);
}
}
你可拉倒吧,你自己看看API。是因为你这问题简单,你才没出错的。自己好好看看API