java类Timer和TimerTask的使用

时间:2022-06-21 00:12:05

 这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求

Timer类是用来执行任务的类,它接受一个TimerTask做参数

Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子:

package org.tiling.scheduling.examples;

import java.util.*;
import java.util.TimerTask;

public class TestTimer extends TimerTask {
 // 定时器
 private Timer timer = new Timer();
 // 设定执行次数
 private int i = 1;

 /**
  * 启动定时任务
  */
 public void start() {
  // 500表示第一次执行的时间,1000表示每隔一定周期执行任务(单位为毫秒)
  timer.schedule(this, 500, 1000);
 }

 /**
  * 结束定时任务
  */
 public void stop() {
  timer.cancel();
 }

 /**
  * 任务主体
  */
 public void run() {
  System.out.println(new Date().toLocaleString());
  System.out.println(i++);
 }

 // 测试
 public static void main(String[] args) {
  TestTimer t = new TestTimer();
  t.start();
 }
}