java 定时器学习


java自带的Timer,TimerTask类来实现定时器.

1、概述 (java api)

Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。

TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

2、例子

主要步骤:

     1)自定义定时器任务,继承TimerTask。

     2)Timer调用定时器任务。

package com.bing.timetask;

import java.io.IOException;
import java.util.TimerTask;

public class MyTimeTask extends TimerTask{

	@Override
	public void run() {//需要重写run方法。
        Runtime rt= Runtime.getRuntime();
        String command="cmd.exe /c start http://localhost:8080/code/qiandao.jsp";
        try {
			rt.exec(command);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

package com.bing.timetask;import java.io.IOException;import java.util.Timer;public class TimerTest {public static void main(String[] args) throws IOException { Timer timer=new Timer(); timer.schedule(new MyTimeTask(),1000,1000*60*60*24);//延迟一秒后隔一天重复调用MyTimeTask 中run方法。 while(true){ int i=System.in.read(); if((char)i=='q'){ timer.cancel(); break; } }}}
 


补充知识:

Timer  方法:

voidschedule(TimerTask task,Date time)
          安排在指定的时间执行指定的任务。
 voidschedule(TimerTask task,Date firstTime, long period)
          安排指定的任务在指定的时间开始进行重复的固定延迟执行
 voidschedule(TimerTask task, long delay)
          安排在指定延迟后执行指定的任务。
 voidschedule(TimerTask task, long delay, long period)
          安排指定的任务从指定的延迟后开始进行重复的固定延迟执行
 voidscheduleAtFixedRate(TimerTask task,Date firstTime, long period)
          安排指定的任务在指定的时间开始进行重复的固定速率执行
 voidscheduleAtFixedRate(TimerTask task, long delay, long period)
          安排指定的任务在指定的延迟后开始进行重复的固定速率执行




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值