zoukankan
html css js c++ java
定时任务为什么不用Timer
在做定时任务的时候,有的同学可能能会用到Timer这个定时任务的辅助类,
可是使用它会有潜在的风险,风险例如以下,
(1)时间计算不准确问题
由于Timer是以绝对时间计算定时任务的,会受到系统时间的影响,假设在任务运行期间。更改了系统时间,那么会
导致时间计算不准确问题。导致任务没用按找预定的时间运行。
(2)仅仅能单任务运行
简单讲就是。仅仅能一次运行一个任务,假设前一个任务没有运行完毕。后一个任务是无法并行运行的,仅仅能等待前一个任务运行完毕
才干运行。也有可能会出现这种结果。前一个任务运行的时间太长,后几个任务时间短,可能在一个时间段内运行了多个任务,任务又
没有依照我们要运行的时间运行。
(3)非检查异常导致异步任务终止
Timer当在运行的过程中遇到非检查异常的时候,会导致本次任务失败,而且接下来的任务也无法被运行。Timer将会终止运行,这不是
我们要的结果。我们须要一套恢复机制。
Java5以后能够用以下的这个类来替代Time,而且攻克了以上三个问题
java.util.concurrent.ScheduledThreadPoolExecutor
那么在Android上呢。能够用
java.util.concurrent.ScheduledThreadPoolExecutor
。也能够用Handler机制做,
可是不建议使用Timer
查看全文
相关阅读:
[DOJ练习] 无向图的邻接矩阵表示法验证程序
[DOJ练习] 求无向图中某顶点的度
[邻接表形式]有向图的建立与深度,广度遍历
[DOJ练习] 有向图的邻接表表示法验证程序(两种写法)
[Java 学习笔记] 异常处理
[总结]单源最短路(朴素Dijkstra)与最小生成树(Prim,Kruskal)
时间选择插件jquery.timepickr
页面值传入后台出现中文乱码
CheckTreecheckbox树形控件
JQuery EasyUI DataGrid
原文地址:https://www.cnblogs.com/zhchoutai/p/6950641.html
最新文章
今后一段时间的安排
inline函数_内联函数的一些总结(from socrassi)
[4]Install Wireless 3945ABG driver for debian 5.0 无线网卡驱动
[1]debian 5.0 Lenny的U盘安装
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]
SQL2000 系统数据库的用途 和 实例数据库
CopyFile函數詳解
SQL集(3)
QQ修改密码错误636:您本次修改的密码不在号码常用的IP段上,请您回到最常用的环境下修改
SQL数据类型详解
热门文章
初学dll
手机使用小秘诀
网线水晶头接法
教你做4F上外网和路游设置
附加和分离数据库
汇编学习笔记1
[数组模拟] AcWing 847. 图中点的层次
[DOJ练习] 求一个无向图的连通分量(两种写法)
[并查集]AcWing 837. 连通块中点的数量
AcWing第23场周赛 4004. 传送阵 题解
Copyright © 2011-2022 走看看