在上篇的JAVA定时任务调度之Timer入门详解(一)文章中,主要介绍了下Timer,接下来我们一起来看看Timer的一些常用方法。

  1、schedule()的4种用法。

TimerTask task, Date

    task:安排的任务,time:具体执行时间。这个函数表达的意义是:在时间等于或超过time的时候执行且执行一次task。测试内容如下

    MyTimerTask.java的代码跟第一篇一样,MyTimer.java的部分代码截图如下:

    

java timer 固定时间间隔 java timer.schedule_执行时间

    运行后,控制台输出如下图:

     

java timer 固定时间间隔 java timer.schedule_执行时间_02

    第一行打印当前时间,第二行和第三行打印的是MyTimeTask.java中run()的输出。由此一目了然

TimerTask

    firstTime:指第一次执行task的时间,period指task执行周期。本方法说的是task在时间等于或者firstTime的时候执行一次(第一次),之后每隔period毫秒执行一次。废话少说,直接上代码。

    MyTimer.java的部分测试代码截图如下:

    

java timer 固定时间间隔 java timer.schedule_JAVA_03

    控制台部分输出如下:

    

java timer 固定时间间隔 java timer.schedule_执行时间_04

    第一行打印的是当前时间,第二行和第三行打印的是第一次执行(3秒后),之后每隔两秒执行一次。

TimerTask

    task:安排的任务,time:具体执行时间。这个函数表达的意义是:在时间等于或超过当前时间的delay毫秒的时候执行且执行一次task。测试内容如下

    MyTimerTask.java的代码跟第一篇一样,MyTimer.java的部分代码截图如下:

    

java timer 固定时间间隔 java timer.schedule_java_05

    控制台输出如下

    

java timer 固定时间间隔 java timer.schedule_java_06

    第一行为当前时间,后两行为当前时间的两秒后task执行的一次输出。

TimerTask

    第四种相信大家结合第二种和第三种就可以懂了,这里不再给测试代码。

   2.scheduleAtFixedRate()的两种用法

TimerTask

    MyTimerTask.java的代码跟第一篇一样,MyTimer.java的部分代码截图如下:

    

java timer 固定时间间隔 java timer.schedule_JAVA_07

    控制台输出如下:

    

java timer 固定时间间隔 java timer.schedule_JAVA_08

    第一行打印的是当前时间,第二三行打印的是当前时间的3秒后task执行的第一次,之后每隔2秒执行一次。

TimerTask

    MyTimer.java的部分代码截图如下:

    

java timer 固定时间间隔 java timer.schedule_执行时间_09

    控制台输出如下:

    

java timer 固定时间间隔 java timer.schedule_java_10