Timer的schedule()⽅法
整式的加减练习题timer.schedule(new MyTask(),long time1,long timer2);
今天算是彻底的搞懂了这个曾经让我为之头疼的⽅法。下⾯我就重点介绍⼀下:
第⼀个参数,是 TimerTask 类,在包:import java.util.TimerTask .使⽤者要继承该类,并实现public void run() ⽅法,因为 TimerTask 类 实现了 Runnable 接⼝。消防安全试题
如何让自己快乐>儿童心理辅导第⼆个参数的意思是,当你调⽤该⽅法后,该⽅法必然会调⽤ TimerTask 类 TimerTask 类 中的 run()⽅法,这个参数就是这两者之间的差值,转换成汉语的意思就是说,⽤户调⽤ schedule() ⽅法后,要等待这么长的时间才可以第⼀次执⾏run() ⽅法。
第三个参数的意思就是,第⼀次调⽤之后,从第⼆次开始每隔多长的时间调⽤⼀次 run() ⽅法。
[附:]
油炸糕怎么做
技术⼈员在实现内部办公系统与外部⽹站⼀体化的时候,最重要的步骤就是从OA系统读取数据,并且根据⽹站模板⽣成最终的静态页⾯。这⾥就需要⼀个定时任务,循环的执⾏。
技术⼈员在写定时任务的时候,想当然的以为Timer.schedule(TimerTask task, longdelay)就是重复的执⾏task。程序运⾏后发现只运⾏了⼀次,总觉得是task⾥的代码有问题,花了很长时间调试代码都没有结果。
仔细研读java api,发现:
北伐战争口号 schedule(TimerTask task, long delay)的注释:Schedules thespecified task for execution after the specifieddelay。⼤意是在延时delay毫秒后执⾏task。并没有提到重复执⾏
bl什么意思
煮面条教程 schedule(TimerTask task, long delay, long period)的注释:Schedulesthe specified task for repeated fixed-delay execution, beginningafter the specified delay。⼤意是在延时delay毫秒后重复的执⾏task,周期是period毫秒。
这样问题就很明确schedule(TimerTask task, longdelay)只执⾏⼀次,schedule(TimerTask task, long delay, longperiod)才是重复的执⾏。关键的问题在于程序员误以为schedule就是重复的执⾏,⽽没有仔细的研究API,⼀⽅⾯也是英⽂能⼒不够,浏览API的过程中不能很快的理解到含义。