定时任务接口ScheduledExecutorService
来源:互联网 发布:cpc广告发布网站源码 编辑:程序博客网 时间:2024/05/22 15:38
class MyScheduledExecutor implements Runnable {
private String jobName;
MyScheduledExecutor() {
}
MyScheduledExecutor(String jobName) {
this.jobName = jobName;
}
@Override
public void run() {
System.out.println(jobName + " is running");
}
private String jobName;
MyScheduledExecutor() {
}
MyScheduledExecutor(String jobName) {
this.jobName = jobName;
}
@Override
public void run() {
System.out.println(jobName + " is running");
}
}
public static void main(String[] args) { ScheduledExecutorService service = Executors.newScheduledThreadPool(10); long initialDelay = 1; long period = 1; // 从现在开始1秒钟之后,每隔1秒钟执行一次job1 service.scheduleAtFixedRate(new MyScheduledExecutor("job1"), initialDelay, period, TimeUnit.SECONDS); // 从现在开始2秒钟之后,每隔2秒钟执行一次job2 service.scheduleWithFixedDelay(new MyScheduledExecutor("job2"), initialDelay, period, TimeUnit.SECONDS); }
ScheduledExecutorService 中两种最常用的调度方法 ScheduleAtFixedRate 和 ScheduleWithFixedDelay。ScheduleAtFixedRate 每次执行时间为上一次任务开始起向后推一个时间间隔,即每次执行时间为 :initialDelay, initialDelay+period, initialDelay+2*period, …;ScheduleWithFixedDelay 每次执行时间为上一次任务结束起向后推一个时间间隔,即每次执行时间为:initialDelay, initialDelay+executeTime+delay, initialDelay+2*executeTime+2*delay。由此可见,ScheduleAtFixedRate 是基于固定时间间隔进行任务调度,ScheduleWithFixedDelay 取决于每次任务执行的时间长短,是基于不固定时间间隔进行任务调度。
阅读全文
0 0
- 定时任务接口ScheduledExecutorService
- ScheduledExecutorService执行定时任务接口
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- java定时任务接口ScheduledExecutorService
- 【转】java定时任务接口ScheduledExecutorService
- Java定时任务接口ScheduledExecutorService代替Timer
- Java并发之定时任务接口ScheduledExecutorService
- ScheduledExecutorService执行定时任务
- ScheduledExecutorService定时任务
- ScheduledExecutorService执行定时任务
- ScheduledExecutorService执行定时任务
- ScheduledExecutorService定时任务的使用
- 定时任务(3)--ScheduledExecutorService类
- java使用ScheduledExecutorService定时任务
- 利用ScheduledExecutorService实现定时任务
- 内联函数和宏定义的区别
- C++ GMP库实现任意位数的Montgomery Modular Multiplication
- Java线程中断
- TimesTen 应用层数据库缓存学习:20. TimesTen异常时的缓存清理
- Java并发编程:ConcurrenthashMap原理分析(1.7)
- 定时任务接口ScheduledExecutorService
- 【JavaScript 学习--09】--理解Js 中的apply 和 call方法
- python训练模型上线问题总结
- gcc添加自写头文件的问题解决
- DAO和Service层的一些解释
- 欢迎使用CSDN-markdown编辑器
- Spring Data JPA
- 【boost】boost::asio(3)——socket编程
- kafka_consumer接口(旧版)