scheduleAtFixedRate 与 scheduleWithFixedDelay 区别
来源:互联网 发布:淘宝9月份有什么活动 编辑:程序博客网 时间:2024/06/06 02:03
scheduleAtFixedRate 与 scheduleWithFixedDelay 区别
关于上述话题,仅以代码说明
package day1013_Timer;
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 ScheduledExecutorServiceText {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:MM:ss");
//构建线程池对象
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3);
//构建任务对象
Runnable task0 = new Runnable() {
public void run() {
String name = Thread.currentThread().getName();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(name+"备份"+sdf.format(new Date()));
}
};
Runnable task1 = new Runnable() {
public void run() {
String name = Thread.currentThread().getName();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(name+"鲜明"+sdf.format(new Date()));
}
};
//任务中休眠2秒,打印信息中显示的结果是每间隔2秒打印一次(另外,如果程序的执行时间大于间隔时间的话就会按照程序的执行时间当作间隔,如果程序的执行时间小于间隔时间的话就会按照间隔时间来执行)
//由此可见这个方法不会管任务是否完成,只要间隔的时间到了,就会执行下一次
executorService.scheduleAtFixedRate(task1, 1, 2,TimeUnit.SECONDS);
//任务中也是休眠2秒,可是它的打印信息中显示的结果是每间隔3秒打印一次
//而这个方法hi等到任务执行完成之后才会执行间隔,执行下一次
executorService.scheduleWithFixedDelay(task0, 1, 2, TimeUnit.SECONDS);
}
}
output
/*
pool-1-thread-1鲜明2015-10-14 07:10:41
pool-1-thread-2备份2015-10-14 07:10:41
pool-1-thread-1鲜明2015-10-14 07:10:43
pool-1-thread-1鲜明2015-10-14 07:10:45
pool-1-thread-2备份2015-10-14 07:10:45
pool-1-thread-3鲜明2015-10-14 07:10:47
pool-1-thread-1鲜明2015-10-14 07:10:49
pool-1-thread-3备份2015-10-14 07:10:49
pool-1-thread-1鲜明2015-10-14 07:10:51
*/
- scheduleAtFixedRate 与 scheduleWithFixedDelay 区别
- scheduleAtFixedRate与scheduleWithFixedDelay区别?
- scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
- scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
- scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
- scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
- scheduleAtFixedRate与scheduleWithFixedDelay的区别
- java 定时任务scheduleAtFixedRate 与 scheduleWithFixedDelay区别
- scheduleAtFixedRate和scheduleWithFixedDelay区别
- scheduleWithFixedDelay 和 scheduleAtFixedRate 的区别
- schedule、scheduleAtFixedRate和scheduleWithFixedDelay的区别
- ScheduledExecutorService 定时任务,scheduleAtFixedRate和scheduleWithFixedDelay区别
- 关于scheduleWithFixedDelay与scheduleAtFixedRate的比较
- ScheduledExecutorService 的 scheduleAtFixedRate 和 scheduleWithFixedDelay 两个方法的区别
- JAVA定时器ScheduledExecutorService中,scheduleAtFixedRate和scheduleWithFixedDelay的区别
- ScheduledExecutorService的scheduleAtFixedRate和scheduleWithFixedDelay方法的区别
- scheduleAtFixedRate与schedule区别
- (原创)定时线程池中scheduleWithFixedDelay和scheduleAtFixedRate的区别
- 如何在iOS设备中进行缓存
- mapreduce中使用第三方jar包
- CUDA核函数share memory
- <C/C++算法>字符串匹配---KMP算法
- 第十二周第三天
- scheduleAtFixedRate 与 scheduleWithFixedDelay 区别
- C++编程细节总结
- Java项目打war包
- 功能测试课程第一周相关知识拓展
- 黑马程序员——数组
- 继续畅通工程(MST)
- 两个ViewPager手势冲突的问题
- 开源项目Philm的MVP架构分析
- iOS性能优化:Instruments使用实战