有关使用ScheduledThreadPoolExecutor实现定时处理任务

简介: 有关使用ScheduledThreadPoolExecutor实现定时处理任务

有关使用ScheduledThreadPoolExecutor实现定时处理任务

使用ScheduledThreadPoolExecutor实现定时任务 ,如下样例,定时输出系统时间,每隔两秒执行一次。 Thread.sleep作用是线程执行的时间,假如处理业务时间是10秒

public static void main(String[] args) {
  ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2);
  executor.scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
    System.out.println(DateFormatUtils.format(System.currentTimeMillis(), "HH:mm:ss SSS"));
    }
  }, 0, 2, TimeUnit.SECONDS);
  try {
    Thread.sleep(10000);
  } catch (InterruptedException e) {
    e.printStackTrace();
  }
  executor.shutdown();
  }
  //10秒之内会输出5次系统时间,每隔两秒执行一次。
//或者使用如下方式
  public static void main(String[] args) {
  ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2);
  executor .scheduleAtFixedRate(new Runnable() {
    int i = 0;
    @Override
    public void run() {
    System.out.println("执行"+i++);
    //可以对业务的返回结果进行判断是否结束该线程。
    //适用于不知道业务处理的时间
    if(i==10){
      executor .shutdown();
    }
    }
  },0,1000, TimeUnit.MILLISECONDS);
  }
相关文章
|
1月前
|
资源调度 Java
在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
【1月更文挑战第7天】【1月更文挑战第34篇】在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
29 1
|
6天前
|
Java BI 调度
ScheduledThreadPoolExecutor详解
ScheduledThreadPoolExecutor详解
|
Java 调度
ScheduledExecutorService使用介绍
JUC包(java.util.concurrent)中提供了对定时任务的支持,即ScheduledExecutorService接口。 本文对ScheduledExecutorService的介绍,将基于Timer类使用介绍进行,因此请先阅读Timer类使用介绍文章。
1030 1
|
Java 调度
ScheduledExecutorService:多线程任务调度
ScheduledExecutorService:多线程任务调度
713 0
ScheduledExecutorService:多线程任务调度
|
Java API 调度
调度线程池ScheduledThreadPoolExecutor的正确使用姿势
调度线程池ScheduledThreadPoolExecutor的正确使用姿势
3271 1
调度线程池ScheduledThreadPoolExecutor的正确使用姿势
|
Java
使用ScheduledExecutorService线程池创建定时任务
使用ScheduledExecutorService线程池创建定时任务
229 0
|
存储 Java API
调度线程池ScheduledThreadPoolExecutor源码解析
调度线程池ScheduledThreadPoolExecutor源码解析
126 0
调度线程池ScheduledThreadPoolExecutor源码解析
【多线程】线程池 | ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor继承ThreadPoolExecutor对execute和submit进行了重写, 同时也实现了ScheduledExecutorService特有的方法。
ScheduledExecutorService出现异常挂掉的问题
ScheduledExecutorService出现异常挂掉的问题
414 0
|
Java 调度
ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor
143 0