Gointerface接口声明实现及作用详解
356
2022-08-29
Java Timer与TimerTask类使程序计时执行
java 程序设计 Timer&TimerTask类
Timer&TimerTask类
根据设定的时间安排实现程序任务的自动执行
每一个调度任务类都需要继承java.util.TimerTask父类,任务的启动需要通过java.util.Timer类完成
TimerTask类常用方法
方法作用public void cancel()终止任务public void run()任务需要执行的具体操作public long scheduleExecutionTime()返回最近一次要执行该任务的时间
Timer类常用方法
方法作用public Timer()创建一个计时器并启动该计时器public void cancel()用来终止该计时器,并放弃所以已安排的任务,对当前正在执行的任务没有影响public int purge()将所有已经取消的任务移除,用来释放内存空间public void schedule(TimerTask task,Date time)安排一个任务在指定的时间执行,如果已经超过该时间,立即执行public void schhttp://edule(TimerTask task,Date firstTime,long period)安排一个任务在指定的时间执行,之后以固定的频率重复执行public void schedule(TimerTask task,long delay)安排一个任务在一段时间后执行public void schedule(TimerTask task,long delay,long period)安排一个任务在一段时间后执行,之后以固定的频率重复执行public void schedule AtFixedRate(TimerTask task,Date firstTime,long period)安排一个任务在指定的时间执行,之后以近似固定的频率重复执行public void schedule AtFixedRate(TimerTask task,long delay,long period)安排一个任务在一段时间后执行,之后以近似固定的频率重复执行
schedule()方法的执行时间间隔永远是固定的,如果之前出现了延迟的情况,之后也会继续按照设定好的间隔时间来执行。
scheduleAtFixedRate()方法可以根据出现的延迟时间自动调整下一次间隔的执行时间。
演示:
import java.util.Timer;
import java.util.TimerTask;
class Test extends TimerTask{
@Override
http:// public void run() {
System.out.println(Thread.currentThread().getName()+"时间:"+System.currentTimeMillis());
}
}
public class Hello {
public static void main(String[] args) {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new Test(),100,1000);
}
}
timer.scheduleAtFixedRate(new Test(),100,1000);
定义间隔任务,100毫秒后开始执行,每间隔1秒执行1秒
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~