计时器Timer类

Timer类

public class Timer extends Object,一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。

构造方法:

public Timer()创建一个新计时器。

主要方法:

public void cancel()终止此计时器,丢弃所有当前已安排的任务。

public void schedule(TimerTasktask,long delay)安排在指定延迟后执行指定的任务。task - 所要安排的任务。delay - 执行任务前的延迟时间,单位是毫秒。

public void schedule(TimerTasktask, Date time)安排在指定的时间执行指定的任务。如果此时间已过去,则安排立即执行该任务。time - 执行任务的时间。

public void schedule(TimerTasktask,long delay,long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。period - 执行各后续任务之间的时间间隔,单位是毫秒。

public void schedule(TimerTasktask,Date firstTime,long period) 安排指定的任务在指定的时间开始进行重复的固定延迟执行。firstTime - 首次执行任务的时间。

TimerTask类

public abstractclass TimerTask extends Object implements Runnable。抽象类。由 Timer 安排为一次执行或重复执行的任务。

构造方法:

protected TimerTask()创建一个新的计时器任务。

主要方法:

public abstractvoid run()此计时器任务要执行的操作。子类需要重写run方法,run方法是该定时任务要执行的代码。

计时器代码示例:

package lianxi;

import java.util.Date;

import java.util.TimerTask;

public class MyTimerTaskextends TimerTask {

    publicvoid run() {

       System.out.println("该起床学习了");

       System.out.println(newDate());

       //输出执行该任务时的时间,以便确定该任务是否是在一秒钟延迟后执行的

    }

}

package lianxi;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class Lianxi14 {

    publicstatic void main(String[] args) {

       //创建定时器

       Timert = new Timer();

       //创建定时任务

       TimerTasktask = new MyTimerTask();

       //向定时器中传入定时任务

       //t.schedule(task,new Date(118,4,19,19,06,10));

       System.out.println(newDate());//输出当前时间,和执行定时任务的时间进行对比,确认是否是延迟一秒执行

       //t.schedule(task,1000);

       //t.schedule(task,new Date(118,4,19,19,19,00), 2000);//在指定时间开始执行任务,每隔两秒执行一次任务

       //t.schedule(task,2000, 1000);//延迟两秒开始执行,每隔1秒执行一次任务  

       /*while(true){

           try{

              Thread.sleep(1000);//sleep是静态方法,在这里使用一秒一睡的方法输出打印当前日期,方便看出上面的定时任务是否在指定时间执行了

           }catch (InterruptedException e) {

              //TODO Auto-generated catch block

              e.printStackTrace();

           }

           System.out.println(newDate());

       }*/   

    }

}


猜你喜欢

转载自blog.csdn.net/QYHuiiQ/article/details/80378741