定时器

定时器

定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。在Java中,可以通过Timer和TimerTask类来实现定义调度的功能

Timer

public Timer()

public voidschedule(TimerTask task, long delay)

public voidschedule(TimerTask task,long delay,long period)

TimerTask

public abstractvoid run()

public booleancancel()

开发中

Quartz是一个完全由java编写的开源调度框架。

 

例子1:定时

import java.util.Timer;

import java.util.TimerTask;

 

/*

 * 定时器:可以让我们在指定的时间做某件事情,还可以重复的做某件事情。

 * 依赖Timer和TimerTask这两个类:

 *Timer:定时

 *             public Timer()

 *             public void schedule(TimerTasktask,long delay)

 *             public void schedule(TimerTasktask,long delay,long period)

 *             public void cancel()

 *TimerTask:任务

 */

public class TimerDemo {

         publicstatic void main(String[] args) {

                   //创建定时器对象

                   Timert = new Timer();

                   //3秒后执行爆炸任务

                   //t.schedule(new MyTask(), 3000);

                   //结束任务

                   t.schedule(newMyTask(t), 3000);

         }

}

 

// 做一个任务

class MyTask extends TimerTask {

 

         privateTimer t;

        

         publicMyTask(){}

        

         publicMyTask(Timer t){

                   this.t= t;

         }

        

         @Override

         publicvoid run() {

                   System.out.println("beng,爆炸了");

                   t.cancel();

         }

 

}

 

例子2:定时循环

import java.util.Timer;

import java.util.TimerTask;

 

/*

 * 定时器:可以让我们在指定的时间做某件事情,还可以重复的做某件事情。

 * 依赖Timer和TimerTask这两个类:

 *Timer:定时

 *             public Timer()

 *             public void schedule(TimerTasktask,long delay)

 *             public void schedule(TimerTasktask,long delay,long period)

 *             public void cancel()

 *TimerTask:任务

 */

public class TimerDemo2 {

         publicstatic void main(String[] args) {

                   //创建定时器对象

                   Timer t = new Timer();

                   //3秒后执行爆炸任务第一次,如果不成功,每隔2秒再继续炸

                   t.schedule(newMyTask2(), 3000, 2000);

         }

}

 

// 做一个任务

class MyTask2 extends TimerTask {

         @Override

         publicvoid run() {

                   System.out.println("beng,爆炸了");

         }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值