Java8使用Supplier启动ScheduledThread代码实例
Supplier + ScheduledExecutorService
Java8中给我们提供了一系列的函数式接口,能够活用这些函数式接口减少代码的冗余,使得代码更加易读就十分考验开发的功底,今天结合一个Run起来就批量启动的定时任务项目需求,做一个Supplier + ScheduledExecutorService的组合,直接贴代码供大家参考。
先简单写两个任务类作为模拟定时启动的任务。
public class ScheduleTask1 implements Runnable{
@Override
public void run() {
System.out.println("++++++++++");
}
}public class ScheduleTask2 implements Runnable{
@Override
public void run() {
System.out.println("-------------");
}
}启动方法,利用静态方法+Supplier直接启动定时线程池,并且把所有需要执行的任务添加到池子中,达到启动即执行的目的。
public class ScheduleTest {
private static final ScheduleTask1 task1=new ScheduleTask1();
private static final ScheduleTask2 task2=new ScheduleTask2();
//利用静态方法+Supplier直接启动定时线程池,并且把所有需要执行的任务添加到池子中
private static final ScheduledExecutorService schedulePool=((Supplier<ScheduledExecutorService>)()->{
ScheduledExecutorService schedule= Executors.newScheduledThreadPool(2);
schedule.scheduleAtFixedRate(task1,0,1,TimeUnit.SECONDS);
schedule.scheduleAtFixedRate(task2,0,2,TimeUnit.SECONDS);
return schedule;
}).get();
public static void main(String[] args) throws InterruptedException {
System.out.println("Start");
}
}到此这篇关于Java8使用Supplier启动ScheduledThread详解的文章就介绍到这了,更多相关Supplier启动ScheduledThread内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java并发编程专题(十一)----(JUC原子类)数组类型详解
这篇文章主要介绍了JAVA JUC原子类 数组类型详解的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下2020-07-07
idea创建springboot项目(版本只能选择17和21)的解决方法
idea2023创建spring boot项目时,java版本无法选择11,本文主要介绍了idea创建springboot项目(版本只能选择17和21),下面就来介绍一下解决方法,感兴趣的可以了解一下2024-01-01


最新评论