java 定时器有关问题

java 定时器问题我想让一个程序每五秒钟就运行一次而不管它在这五秒钟内是否运行完一次timer里的schedule(

java 定时器问题
我想让一个程序每五秒钟就运行一次 而不管它在这五秒钟内是否运行完一次

timer里的schedule(TimerTask task, 0, 5000) 方法 会一直等待一次执行完毕后才会继续等待5秒钟进行下一次执行

scheduleAtFixedRate(TimerTask task, 0,5000) 只会尽量的保证一个速率 也是等到一次执行完毕后 才能执行下一次

问问各位大神们有没有办法 就是不管他当前本次有没有执行完 5秒一过就立即执行下一次 再5秒又立即一次呢



[解决办法]
5秒启动一个线程,线程启动定时器
[解决办法]
将要运行程序制作成线程,使用一timer,每5s启动一个线程。
[解决办法]
TimerTask 使用Timer 不准确 
建议用quartz.
[解决办法]
可以使用多线程
[解决办法]
一个TimeTask是用一个线程的。任务没法强制终止的。就算TimerTask的cancel也会等当前正在执行的任务执行完后永不执行。
[解决办法]
直接用线程来操作。

(new Thread(new Runnable(){
public void run(){
while(1>0){
//延时的方法有两种,这是第一种。
try{Thread.sleep(5000);}catch(Exception e){}
//这里写要执行的任务
}
}
})).start();
[解决办法]

探讨
我想让一个程序每五秒钟就运行一次 而不管它在这五秒钟内是否运行完一次

timer里的schedule(TimerTask task, 0, 5000) 方法 会一直等待一次执行完毕后才会继续等待5秒钟进行下一次执行

scheduleAtFixedRate(TimerTask task, 0,5000) 只会尽量的保证一个速率 也是等到一次执行完毕后 才能执行下一次

问问各位……

[解决办法]
用多线程是完全可以的 Timer定时起一个线程完全是可以的,