zoukankan      html  css  js  c++  java
  • 定时调度

            进行定时任务的处理,就像设置闹铃一样,在jjava中提供有定时任务的支持,但是这种任务的处理只是实现了间隔触发的操作,如果想要实现定时操作,需要有一个定时操作的主体类,以及一个定时任务类的实现
    --java.util.TimerTask类  实现定时任务处理

    Class TimerTask

    --可以发现TimeTask类是Runnable的实现类,那么我们就可以认为每个定时任务都是一个独立的线程,那么我们如何去启动这个定时操作的线程对象呢
    --Timer类  进行任务的启动,启动的方法
      任务启动:public void schedule(TimerTask task,Date firstTime,long period)从指定的时间开始 ,对指定的任务执行重复的固定延迟执行
    --
    实现定时任务处理

     1 public class MyTimer extends TimerTask {        //任务主体
     2     @Override
     3     public void run() {     //多线程的处理方法
     4         System.out.println(Thread.currentThread().getName() + " 定时任务执行,当前时间: " + System.currentTimeMillis());
     5     }
     6     public static void main(String[] args) {
     7         Timer timer = new Timer();
     8         //延迟两秒执行,每次执行间隔为一秒
     9         timer.schedule(new MyTimer(),2000,1000);
    10     }
    11 }

    --运行结果

    Timer-0 定时任务执行,当前时间: 1566219983915
    Timer-0 定时任务执行,当前时间: 1566219984929
    Timer-0 定时任务执行,当前时间: 1566219985944
    Timer-0 定时任务执行,当前时间: 1566219986946
    Timer-0 定时任务执行,当前时间: 1566219987959
    Timer-0 定时任务执行,当前时间: 1566219988974
    Timer-0 定时任务执行,当前时间: 1566219989990
    Timer-0 定时任务执行,当前时间: 1566219991005
    Timer-0 定时任务执行,当前时间: 1566219992009
    Timer-0 定时任务执行,当前时间: 1566219993010
    Timer-0 定时任务执行,当前时间: 1566219994023
    Timer-0 定时任务执行,当前时间: 1566219995038
    
    Process finished with exit code -1

    --这种定时是由JDK最原始的方式提供的支持,但是实际上开发之中利用此类方式进行的定时处理实现的代码会非常的复杂

  • 相关阅读:
    leetcode之Unique Binary Search Trees
    c++ 非常量引用产生临时对象
    redis的启动脚本
    leetcode 之 Insertion Sort List
    leetcode 之 Product of Array Except Self
    一致性hash的由来和原理
    我的vim 配置
    【原创】html页面清除浮动的几种方法
    实现本页面跳转的几种方式
    php输出语句用法总结
  • 原文地址:https://www.cnblogs.com/skykuqi/p/11379752.html
Copyright © 2011-2022 走看看