使用ScheduledExecutorService怎么实现一个定时任务

  介绍

这期内容当中小编将会给大家带来有关使用ScheduledExecutorService怎么实现一个定时任务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

示例代码

package  com.effective.common.concurrent.execute;   import  java.text.DateFormat;   import  java.text.ParseException;   import  java.text.SimpleDateFormat;   import  java.util.Date;   import  java.util.concurrent.Executors;   import  java.util.concurrent.ScheduledExecutorService;   import  java.util.concurrent.TimeUnit;   public  class  Schedule  {   private  static  DateFormat  DateFormat =, new  SimpleDateFormat (“yy-MM-dd  HH: mm: ss");   private  static  DateFormat  dayFormat =, new  SimpleDateFormat (“yy-MM-dd");   private  static  ScheduledExecutorService  excutor =, Executors.newSingleThreadScheduledExecutor ();/* *   ,,*,按指定频率周期执行某个任务,& lt; br>   ,,*,初始化延迟0女士开始执行,每隔5 ms重新执行一次任务。   ,,*/public  void  fixedRate () {   excutor.scheduleAtFixedRate (new  EchoServer(),,//执行线程   0,,//初始化延迟   5000年,,//两次开始的执行的最小时间间隔   TimeUnit.MILLISECONDS //计时单位   );   }/* *   ,,*,   ,,*/public  void  fixDelay () {   excutor.scheduleWithFixedDelay (new  EchoServer()//执行线程,   0,,//初始化延迟   5000年,,//前一次执行结束到下一次执行开始的间隔时间   TimeUnit.MILLISECONDS);   }/* *   ,,*,每天晚8点上执行一次   ,,*/public  void  dayOfDelay (String 时间){   ScheduledExecutorService  executor =, Executors.newScheduledThreadPool (1);   long  oneDay =, 24, *, 60, *, 60, *, 1000;   long  initDelay =, getTimeMillis (“20:00:00"),安康;System.currentTimeMillis ();   时间=initDelay  initDelay 祝辞,0,?,initDelay :, oneDay  +, initDelay;   executor.scheduleAtFixedRate (,   ,,,,,,,new  EchoServer (),,   ,,,,,,,initDelay,,   ,,,,,,,有一天,,   ,,,,,,,TimeUnit.MILLISECONDS);   }/* *   ,,*,获取给定时间对应的毫秒数   ,,*,@param  string “HH: mm: ss"   ,,* @return   ,,*/private  static  long  getTimeMillis (String 时间),{   try  {   Date  currentDate =, dateFormat.parse (dayFormat.format (new 日期()),+,,,,,+时间);   return  currentDate.getTime (),;   }   catch  (ParseException  e), {   e.printStackTrace ();   }   return  0;   }   public  static  void  main (String [], args) {   Schedule  Schedule =, new 安排();   schedule.fixedRate ();   schedule.fixDelay ();   }   }

上述就是小编为大家分享的使用ScheduledExecutorService怎么实现一个定时任务了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

使用ScheduledExecutorService怎么实现一个定时任务