ScheduledExecutorService内线程异常导致任务中断_scheduledexecutorservice scheduleatfixedrate 线程消失_TankyZhang的博客-程序员秘密

技术标签: java  问题解决  

    今天遇到一个关于ScheduledExecutorService的诡异问题,执行ScheduledExecutorService.scheduleAtFixedRate()方法过后,这个定时任务只执行一次便不再执行,可以说非常诡异。最后经过仔细排查终于发现了这个问题的出现原因。
先看一段代码:
在这里插入图片描述
    这段代码会抛出异常,但是因为没有捕捉异常所以对于javaer根本感知不到异常,最终的执行结果如下:
在这里插入图片描述
可以看到程序也没有停止,但是hello过了十秒后也不再打印,是不是非常诡异。
    我们捕获一下异常看看:
在这里插入图片描述
最终的执行结果为:
在这里插入图片描述
可以看到程序没听,hello每隔十秒打印一次,说明当我们捕捉异常以后,定时任务可以正常运转了,这是为什么呢?
    当我们进入到scheduleAtFixedRate方法的源码以后会看到这样一句话:
在这里插入图片描述

原文:
If any execution of the task encounters an exception, subsequent executions are suppressed. Otherwise, the task will only terminate via cancellation or termination of the executor
翻译:
如果任务的任何执行遇到异常,则后续执行将被抑制。否则,任务只会通过取消或终止执行者而终止

可以看到源码中很明确的指出了,如果任务抛出了异常,后续的任务就不再会继续执行了,这也就是为什么发生了上边的问题。
    很简单的一个小问题,一不注意困扰了很久,尴尬!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44225613/article/details/119983164

智能推荐

微型计算机中的奔四指的是,2014山东省计算机等级考试试题 二级C试题最新考试试题库(完整版)..._彼女的秘密的博客-程序员秘密

1、为了防止计算机硬件的突然故障或病毒入侵对数据的破坏,对于重要的数据文件和工作资料在每天工作结束后通常应( B )A、直接保存在硬盘之中 B、用专用设备备份C、打印出来 D、压缩后存储到硬盘中2、静态RAM的特点是( A )A、在不断电的条件下,其中的信息保持不变,因而不必定期刷新B、在不断电的条件下,其中的信息不能长时间保持,因而必须定期刷新才不致丢失信息C、其中的信息只能读不能写D、其中的信...

IPC(进程间通信方式的介绍)_ipc通信_CAFEBABE丶的博客-程序员秘密

进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linux中的C语言编程为例。一、管道管道,通常指无名管道,是 UNI...

快速搭建一个自己的服务器详解(java环境)_服务器怎么搭建_奔跑吧、GZB的博客-程序员秘密

一. 服务器的购买1. 我选择的是阿里云的服务器,学生价9.5元一个月,百度直接搜索阿里云,然后点击右上角登录,推荐大家用支付宝扫码登录,方便快捷。阿里云官网的东西比较多,登录后我找了很久也没有找到学生服务器在哪里卖,最后在咨询里找到了这个网址,https://promotion.aliyun.com/ntms/campus2017.html,购买的时候需要进行学生认证,按照他的要求一步步...

复旦大学大三学生郭泽宇攻克世界难题_Vampire_yb的博客-程序员秘密

近日,复旦大学大三学生郭泽宇的论文《关于最小曼哈顿网络的问题》被25届计算机几何会议录用,文章同时作为最佳论文之一被邀请投稿到会议特刊DCG。标志着计算机几何界十年来的重要猜想被这位年仅20岁的中国学生解决。这也让他有机会参加中国科学家阔别八年的这个高级别会议来报告自己的工作。 关于“最小曼哈顿网络问题”最小曼哈顿网络问题,是1999年提出的世界级计算几何重要猜想。1999年,J. G

soft raid5阅读笔记之十一--RAID6_revoer001的博客-程序员秘密

1、校验和检查,如果不一致,则通过计算获取正确值,再写入到磁盘中,这里只根据状态设置相应的标志位,以便后续的操作:static void handle_parity_checks6(raid5_conf_t *conf, struct stripe_head *sh, struct stripe_head_state *s,

git本地项目代码上传至码云远程仓库总结_git上传代码到仓库_凡夫贩夫的博客-程序员秘密

git基本使用小结之前公司的版本控制工具一直用的是svn,最近要改用git,之前用svn一直很熟,没用过git,顺应公司形势学习一下最基本的使用,避免正式切换后影响项目进度。下载、安装都很简单,网上有很多资源,选个最新版本下载一下,安装。安装成功后,会在开始菜单中出现这几个东西:如果你的本机是安装成功第一次使用,先配置一下一些基本的信息$ git config--gl...

随便推点

Probe安装、配置以及监控_不会写代码的小拉基的博客-程序员秘密

安装前提:需要安装Tomcat,可参考Tomcat安装1.Probe安装    下载地址:https://github.com/psi-probe/psi-probe/releases2.Probe相关配置     1.把下载好的probe.war用压缩软件解压到Tomcat安装目录下的webapps目录中    2.需要把probe相关权限加入Tomcat文件中   ...

洛谷P3243 [HNOI2015]菜肴制作(拓补排序)_zwjdd_qwq的博客-程序员秘密

挺奇妙的一题要求符合条件的字典序最小的序列第一眼,并查集加拓排,思考两分钟果断否决然后胡思乱想了一段时间,突然想起来NOIP2018D2T1,于是猛然惊醒,反向求最大不就行了建完反图后脑子抽了,竟然搜到一个rd为零的点跑一次,惊天大错误样例竟然还过了,WA完后冷静思考,发现一个优先队列秒杀一切…我真是个大∗∗**∗∗帅逼#include<iostream>#include&...

CSDN日报20170526 ——《论程序员的时代焦虑与焦虑的缓解》_CSDN官方博客的博客-程序员秘密

生活在 2017 年的程序员,不焦虑的确实没有几个。经历了 2016 年的房价暴涨以及此前房价的数次狂飙猛进,能心静如水的人那内心的强大恐怕不是一般人可以企及。

SQL注入绕过WAF方法使用_绕过waf注入_poggioxay的博客-程序员秘密

文章推荐【SQL注入绕过WAF】文章目录WAF介绍WAF检测机制常见的绕过方法【1、4、5、7较常用】WAF介绍看图识WAFWeb应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)核心目的:防御网站被入侵。具体手段:检测到你的入侵者,然后拦截你当前访问的页面或者是跳转其他页面,或者是直接禁止你的ip访问。日常生活中,有些网站不一定安装了WAF,但是他可能会有自己的防护策略,过滤你的恶意传参数据,例如传参不能出现un

计算机无法快速预览pdf,电脑中无法使用火狐浏览器预览PDF文档怎么解决_艾团长的博客-程序员秘密

‍在火狐浏览器中具有在网页中支持打开PDF文档的功能。有用户在使用Firefox打开PDF文档时却被提示需要保存文件,而不能直接在页面中预览。如果遇到上述的情况,我们应该如何操作才能在火狐浏览器中直接预览PDF呢?具体方法如下:win8.1 - 14 、按Win+R打开运行,输入regedit,回车打开注册表编辑器;windows7系统之家 - 15 、在注册表编辑器中依次展开HKEY_CLASS...

向量相似度java_特征向量相似度和距离的计算_郭mc的博客-程序员秘密

1/*2特征向量相似度和距离的计算34相似度:5·夹角余弦6·相关系数7·Dice8·Jaccard910距离11·明氏距离12·欧氏距离13·马氏距离14·Jffreys&Matusita距离15·Mahalanobis距离,未实现,协方差矩阵16·Camberra距离(Lance距离,Williams距离)17*/1819#inclu...

推荐文章

热门文章

相关标签