JAVA----定时操作任务

使用java.util.Timerjava.util.TimerTask两个类来实现

1.Timer类

public class Timer extends Object

每个Timer对象对应一个后台线程,用于安排将来执行的任务,可以安排执行一次的任务,或是执行多次的任务。如果想要终止计时器任务,可以采用终止方法。
这个类是线程安全的,多个类可以共享一个Timer类,而不需要额外同步。

1.1构造器

public Timer()
public Timer(boolean isDaemon)     
public Timer(String name)
public Timer(String name,boolean isDaemon)

1.2方法

public void cancel()  //终止此定时器

public void schedule(TimerTask task,Date time) 
//任务在指定的时间执行,如果时间在过去,那么将立刻执行任务

public void schedule(TimerTask task,Date firstTime,long period)
//指定的时间开始,重复一段时间执行任务

public void schedule(TimerTask task,long delay,long period)
//指定延迟后,每隔指定时间执行一次任务

还有其他类似方法查看文档

2.TimerTask

public abstract class TimerTisk
extends Object
implements Runnable

2.1方法

public boolean cancel()
//该方法取消任务的执行,如果任务正在执行,则执行完了之后取消
//如果阻止了任务的执行则返回true

public abstract void run()
//抽象方法,任务执行体

public long scheduledExecutionTime()
//返回任务的最近执行的计划执行时间,通常在run中调用来确定当前的执行是否够时间

3.例子

class Time extends TimerTask{
    public void run() {
        Date d = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat();
        sdf.applyPattern("yyyy-MM-dd,HH:mm:ss:SS");
        System.out.println(sdf.format(d));

    }
}

public class Run {
    public static void main(String[] args) {
        Timer t = new Timer();
        t.schedule(new Time(), 2000, 1000);

    }   
}

输出:

2017-11-16,20:46:14:790
2017-11-16,20:46:15:789
2017-11-16,20:46:16:790
2017-11-16,20:46:17:790
2017-11-16,20:46:18:790

即每隔一秒执行一次任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值