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
查看全文
相关阅读:
adb shell dumpsys的使用
appium框架之bootstrap
adb forward交互流程
adb shell中的am pm命令
appium日志示例解读
移动自动化相关名词解释
appium架构分析
solr单机环境配置并包含外部单机zookeeper
Linux下常用的硬件信息查看命令
Zookeeper服务常用的操作命令
原文地址:https://www.cnblogs.com/zhchoutai/p/6950641.html
最新文章
nodejs接收前端formData数据
nodejs取参四种方法 req.body, req.params, req.param, req.body
关于form与表单提交操作的一切
可能这些是你想要的H5软键盘兼容方案
HTML Button自动刷新页面的问题
原生JS添加类名 删除类名
FBackup:个人用途与商业用途都是免费的
DNS (域名系统)
【appium】查看Android应用包名、Activity的几个方法
aapt 命令可应用于查看apk包名、主activity、版本等很多信息
热门文章
android自动化测试--appium运行的坑问题及解决方法
fiddler怎么修改服务器返回参数并发送
友盟消息push功能
将Excel表格保存为图片
【转】TestNG 与 Junit的比较
eclipse最常用快捷键
网页小工具
appium界面运行过程(结合日志截图分析)
【转】UIAutomator源码分析之启动和运行
初始化ArrayList的两种方法[转]
Copyright © 2011-2022 走看看