2020-12-23

定时任务的处理----Timer 类

1.所用到的方法有四个
1.1–void schedule(TimeTask task ,long delay) 在指定的延迟之后安排指定的任务执行。
1.2–void schedule(TimerTask task, long delay,long period) 在指定 的延迟之后开始,重新 执行固定延迟执行的指定任务
1.3–schedule(TimerTask task, Date time) 在指定的时间安排指定的任务执行。
1.4–schedule(TimerTask task, DatefirstTime, long period) 从指定的时间开始,对指定的任务执行重复的 固定延迟执行 。

具体代码:

package com.yusys;

import com.sun.org.apache.bcel.internal.generic.NEW;

import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 定时器联系
 */
public class TimerTest01 {
   public static void main(String[] args) {
      //创建一个定时,2秒后启动,只启动一次
      Timer timer = new Timer();
      timer.schedule(new TimerTask() {
         @Override
         public void run() {
            for (int i = 10; i >=0 ; i--) {
               try {
                  Thread.sleep(1000);
               } catch (InterruptedException e) {
                  e.printStackTrace();
               }
            }
            System.out.println("炸弹炸了,boom~~~~~");
            //终止定时器
            timer.cancel();
         }
      },2000);

      //设置一个定时器 5秒后开始执行,1秒执行一次
      Timer timer2 = new Timer();
      timer2.schedule(new TimerTask() {
         @Override
         public void run() {
            String s = new SimpleDateFormat("yyyy-mm-dd HH:MM:ss").format(new Date());
            System.out.println(s);
         }
      },5000,1000);

      //3.设置一个定时器,在2030年01月01日零时开始执行,每隔24小时执行一次
      Timer timer3 = new Timer();
      //创建日历控件
      Calendar calendarTime =
         new GregorianCalendar(2020,1,1,2,10,1);
      timer3.schedule(new TimerTask() {
         @Override
         public void run() {
            System.out.println("吃饭睡觉打豆豆");
         }
      },calendarTime.getTime(),1000*60*24);

   }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值