Chinaunix首页 | 论坛 | 博客
  • 博客访问: 335156
  • 博文数量: 297
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3065
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(297)

文章存档

2022年(95)

2021年(201)

2019年(1)

我的朋友

分类: Java

2022-01-21 13:38:06


点击(此处)折叠或打开


  1. import java.util.Calendar;
  2.  import java.util.Date;
  3.  import java.util.Timer;
  4.  import java.util.TimerTask;

  5. /**
  6.  * 说明:java定时器
  7.  * 作者:FH Admin
  8.  * from:fhadmin.cn
  9.  */
  10. public class TimeTest {
  11.      public static void main(String[] args) {
  12.          timer1();
  13.          //timer2();
  14.          //timer3();
  15.          //timer4();
  16.      }

  17.     // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)
  18.      public static void timer1() {
  19.          Timer timer = new Timer();
  20.          timer.schedule(new TimerTask() {
  21.              public void run() {
  22.                  System.out.println("-------设定要指定任务--------");
  23.              }
  24.          }, 2000);// 设定指定的时间time,此处为2000毫秒
  25.     }

  26.     // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行
  27.     // schedule(TimerTask task, long delay, long period)
  28.      public static void timer2() {
  29.          Timer timer = new Timer();
  30.          timer.schedule(new TimerTask() {
  31.              public void run() {
  32.                  System.out.println("-------设定要指定任务--------");
  33.              }
  34.          }, 1000, 5000);
  35.      }

  36.     // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
  37.     // scheduleAtFixedRate(TimerTask task, long delay, long period)
  38.      public static void timer3() {
  39.          Timer timer = new Timer();
  40.          timer.scheduleAtFixedRate(new TimerTask() {
  41.              public void run() {
  42.                  System.out.println("-------设定要指定任务--------");
  43.              }
  44.          }, 1000, 2000);
  45.      }
  46.     
  47.      // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.
  48.     // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
  49.      public static void timer4() {
  50.          Calendar calendar = Calendar.getInstance();
  51.          calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时
  52.         calendar.set(Calendar.MINUTE, 0); // 控制分
  53.         calendar.set(Calendar.SECOND, 0); // 控制秒

  54.         Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的12:00:00

  55.         Timer timer = new Timer();
  56.          timer.scheduleAtFixedRate(new TimerTask() {
  57.              public void run() {
  58.                  System.out.println("-------设定要指定任务--------");
  59.              }
  60.          }, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行
  61.     }
  62.  }


  63. 关闭计时器 timer.cancel();


阅读(182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~