Java - Timer定时器

一、说明

    java.util.Timer就是一个定时调用的调度器,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行指定的任务


二、创建

    创建一个新计时器,无参构造,线程名默认以Timer为前缀

public Timer()

    创建一个新计时器,指定是否为后台线程,后台线程当且仅当进程结束时自动注销掉

public Timer(boolean isDaemon)


三、模式

        Timer有两种执行任务的模式:固定延迟调度和固定比率调度

    1、固定延迟调度(schedule),所有后续的执行根据上次执行的结束时间以近似固定的周期进行调度,保障两次执行间的间隔


        安排在制定的时间执行指定的任务,仅调度一次

public void schedule(TimerTask task,Date time)

        安排在指定延迟后执行指定的任务,仅调度一次

Timer.schedule(TimerTask task,long delay)

        安排指定的任务在指定的时间开始进行重复的固定延迟执行

public void schedule(TimerTask task,Date firstTime ,long period)

        安排指定的任务从指定的延迟后开始进行重复的固定延迟执行

public void schedule(TimerTask task,long delay,long period)

    2、固定比率调度(scheduleAsFixedRate),所有后续的执行根据初始执行的开始时间以近似固定的周期进行调度,从而希望减小延迟


        安排指定的任务在指定的时间开始进行重复的固定速率执行

public void scheduleAtFixedRate(TimerTask task,Date firstTime,long period)

        安排指定的任务在指定的延迟后开始进行重复的固定速率执行

public void scheduleAtFixedRate(TimerTask task,long delay,long period)

四、示例

	Timer timer = new Timer();
	
	timer.schedule(new TimerTask() {
		
		@Override
		public void run() {
			// 定时调度的逻辑
		}
		
	}, 1000 * 10, 1000 * 60);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值