大佬教程收集整理的这篇文章主要介绍了java 定时任务接口scheduledExecutorService,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一、scheduledExecutorservice 设计思想
scheduledExecutorservice,是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。
需要注意,只有当调度任务来的时候,scheduledExecutorservice才会真正启动一个线程,其余时间scheduledExecutorservice都是出于轮询任务的状态。
1、线程任务
class MyscheduledExecutor implements Runnable { private @R_944_10495@ng jobName; MyscheduledExecutor() { } MyscheduledExecutor(@R_944_10495@ng jobName) { this.jobName = jobName; } @Override public void run() { System.out.println(jobName + " is running"); } }
2.定时任务
class MyscheduledExecutor implements Runnable { private @R_944_10495@ng jobName; MyscheduledExecutor() { } MyscheduledExecutor(@R_944_10495@ng jobName) { this.jobName = jobName; } @Override public void run() { System.out.println(jobName + " is running"); } }
scheduledExecutorservice 中两种最常用的调度方法 scheduleAtFixedRate 和 scheduleWithFixedDelay。scheduleAtFixedRate 每次执行时间为上一次任务开始起向后推一个时间间隔,即每次执行时间为 :initialDelay, initialDelay+period, initialDelay+2*period, …;scheduleWithFixedDelay 每次执行时间为上一次任务结束起向后推一个时间间隔,即每次执行时间为:initialDelay, initialDelay+executeTime+delay, initialDelay+2*executeTime+2*delay。由此可见,scheduleAtFixedRate 是基于固定时间间隔进行任务调度,scheduleWithFixedDelay 取决于每次任务执行的时间长短,是基于不固定时间间隔进行任务调度。
https://www.cnblogs.com/chenmo-xpw/p/5555931.html
以上是大佬教程为你收集整理的java 定时任务接口scheduledExecutorService全部内容,希望文章能够帮你解决java 定时任务接口scheduledExecutorService所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。