关于ScheduledExecutorService执行一段时间之后就不执行的问
来源:互联网 发布:三星电视自带网络电视 编辑:程序博客网 时间:2024/05/07 00:06
简单总结就是:如果定时任务执行过程中遇到发生异常,则后面的任务将不再执行。
我们可以做个实验验证一下:
先看下面一段代码:
这段代码的执行效果如下:/** * [Copyright] * @author QiFuguang * Aug 25, 2014 9:48:41 PM */package com.winwill.xx;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class Test { private final static ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); public static void main(String[] args) { scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { int[] s = new int[1]; System.out.println("OK"); System.out.println(s[1]); // 数组越界 } }, 0, 2, TimeUnit.SECONDS); }}
可以看到定时任务只执行了一次,因为第一次执行就遇到了数组越界异常,后面的任务被取消了。
再看如下代码:
运行效果如下:/** * [Copyright] * @author QiFuguang * Aug 25, 2014 9:48:41 PM */package com.winwill.xx;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class Test { private final static ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); public static void main(String[] args) { scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { try { int[] s = new int[1]; System.out.println("OK"); System.out.println(s[1]); // 数组越界 } catch (Throwable t) { System.out.println("Error"); } } }, 0, 2, TimeUnit.SECONDS); }}
加了try/catch之后可以看到定时任务没有被取消。
- 关于ScheduledExecutorService执行一段时间之后就不执行的问
- 关于ScheduledExecutorService执行一段时间之后就不执行的问
- 关于ScheduledExecutorService执行一段时间之后就不执行的问题
- 关于ScheduledExecutorService执行一段时间之后就不执行的问题
- ScheduledExecutorService只执行一段时间
- Java线程暂停一段时间之后继续执行的实现方法
- ScheduledExecutorService遇到异常后续任务不继续执行的问题
- android 指定一段时间之后再执行
- Spring定时器运行一段时间后不执行
- linux crond.d定时调度执行一段时间后不执行
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- ScheduledExecutorService定时周期执行指定的任务
- Java String处理入门 - null或空值的判断处理
- pop动画
- 完全没有基础的安装android studio及导入项目中出现的一些问题
- 互联网时代的社会语言学:基于SNS的文本数据挖掘
- 【傻傻分不清楚】C#抽象类和接口
- 关于ScheduledExecutorService执行一段时间之后就不执行的问
- eclipse maven update project 相关问题
- JSP中时间的获取
- [LeetCode]First Bad Version
- echars柱状图,折线图,和导出到Excel
- 抽象类与接口的区别
- CSS 字体单位大小对照换算表
- hzxyangxiansheng@corp.netease.com
- 安卓studio导入jra包和so包,百度地图so包加载