zoukankan      html  css  js  c++  java
  • Java入门——定时调度

    Java入门——定时调度



    Timer类

    Timer类是一种线程设施,可以用来实现在某一个时间或者某一段时间后安排某一个任务执行一次或者定时重复执行,该功能要与TimeTask配合使用.

      每一个Timer对象对应的是一个线程,因此计时器所执行的任务应该迅速完成,否者可能会延迟后续任务的执行。

    序号 方法 类型 描述
    1 Timer() 构造 创建一个计时器,并且启动这个计时器
    2 cancle() 普通 终止该计时器,并放弃所有已经安排的任务
    3 purge() 普通 将已经取消的任务移除,一般用来释放内存空间
    4 schedule(TimerTask task,Date time) 普通 安排一个任务在指定的时间执行
    5 schedule(TimerTask task,Date firstTime,long period) 普通 安排一个任务在指定的时间执行,然后以固定的频率重复执行
    6 schedule(TimerTask task,long delay,long period) 普通 安排一个任务在一段时间后指定,并且以固定的频率重复执行
    7 scheduleAtFixedRate(TimerTask task,Date firstTime,long period) 普通 安排一个任务在指定时间执行,然后以近似固定的频率重复执行
    8 scheduleAtFixedRate(TimerTask task,long delay,long period) 普通 安排一个任务在一段时间后时间执行,然后以近似固定的频率重复执行
           

    TimerTask类

    是一个抽象类,需要建立子类实现其中的抽象方法。

    序号 方法 类型 描述
    1 cancle() 普通 用来终止此任务,如果该任务只执行一次并且还没有执行,则永远不会在执行,如果正在执行,则执行完后不会再执行,如果为重复执行任务,则之后不会再执行。
    2 run() 普通 该任务所要执行的具体操作,该方法为引入的接口Runnable中的方法,子类需要继承此方法
    3 scheduled ExecutionTime() 普通 返回最近一次要执行该任务的时间,一般在run()方法中调用,用来判断当前是否有足够的时间来执行该任务

    范例

      定时打印系统的当前时间。

    /*
     * 总结,需要建立一个task对象,建立一个Timer对象
     * task类继承与一个抽象类TimerTask,这个抽象类要实现run方法。
     */
    package Sep27;
    import java.util.*;
    import java.text.*;
    public class MyTask {
    	public static void main(String[] args) {
    		Timer t=new Timer();
    		TextTask testtask=new TextTask();
    		t.schedule(testtask, 1000, 2000);
    	}
    }
    class TextTask extends TimerTask{
    	public void run(){
    		SimpleDateFormat sdf1=null;
    		sdf1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss.SSS");
    		System.out.println("当前时间为:"+sdf1.format(new Date()));
    		
    	}
    }
    

      结果:

    当前时间为:2016年09月27日 16:09:14.493
    当前时间为:2016年09月27日 16:09:16.231
    当前时间为:2016年09月27日 16:09:18.231
    当前时间为:2016年09月27日 16:09:20.236
    当前时间为:2016年09月27日 16:09:22.238
    当前时间为:2016年09月27日 16:09:24.242
    当前时间为:2016年09月27日 16:09:26.245
    当前时间为:2016年09月27日 16:09:28.247
    

      

     

  • 相关阅读:
    Vuex基本用法
    vue ui 创建项目报错: Failed to get response from https://registry.yarnpkg.com/vue-cli-version-marker
    vue+elementui {{ }} 的使用
    vue+elementui项目去除html标签
    vue+elementui 将后端传来数据编程tree结构、同一级别数据对象
    为某个table项添加slot
    vue+elementui项目,table项内容超过确定行以“...”显示剩余部分的实现
    前端对后台数据的处理
    vue+elementUI项目获取数组最后一位,防止深拷贝问题
    thinkPHP 控制器定义
  • 原文地址:https://www.cnblogs.com/BoscoGuo/p/5913234.html
Copyright © 2011-2022 走看看