java timer和timertask_Timer和TimerTask与Java中的线程+睡眠
我在这里发现了类似的问题,但没有满意的答案。所以再改一下这个问题-
我有一项任务需要定期执行(例如间隔1分钟)。与创建一个带有睡眠无限循环的新线程相比,使用Timertask&Timer执行此操作有什么优势?
使用timertask-的代码段
TimerTask uploadCheckerTimerTask = new TimerTask(){
public void run() {
NewUploadServer.getInstance().checkAndUploadFiles();
}
};
Timer uploadCheckerTimer = new Timer(true);
uploadCheckerTimer.scheduleAtFixedRate(uploadCheckerTimerTask, 0, 60 * 1000);
使用Thread和sleep-的代码段
Thread t = new Thread(){
public void run() {
while(true) {
NewUploadServer.getInstance().checkAndUploadFiles();
Thread.sleep(60 * 1000);
}
}
};
t.start();
如果逻辑的执行花费的时间超过间隔时间,我真的不必担心是否会错过某些周期。
请对此发表评论。
更新:
最近,我发现使用Timer与Thread.sleep()之间还有另一个区别。假设当前系统时间是11:00 AM。如果由于某种原因将系统时间回滚到10:00 AM,则Timer将停止执行任务,直到达到11:00 AM,而Thread.sleep()方法将继续执行该任务而没有任何阻碍。这可能是决定这两者之间使用什么的主要决策者。
java timer和timertask_Timer和TimerTask与Java中的线程+睡眠相关推荐
- java多线程同步与死锁_浅析Java多线程中的同步和死锁
Value Engineering 1基于Java的多线程 多线程是实现并发机制的一种有效手段,它允许编程语言在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间相互独立,且与进程一样拥有独立 ...
- Java Timer、TimerTask(定时任务)
>java.util.Timer 一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行. TimerTask实现了Runnable接口,作为定时执行的任务载体. ...
- Java Timer、TimerTask
下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了r ...
- Java Timer TimerTask示例
Java java.util.Timer is a utility class that can be used to schedule a thread to be executed at cert ...
- java timer和timertask_java定时器Timer和TimerTask详解
目录结构: Timer和TimerTask 一个Timer调度的例子 如何终止Timer线程 关于cancle方式终止线程 反复执行一个任务 schedule VS. scheduleAtFixedR ...
- java Timer定时器管理类
1.java timer类,定时器类.启动执行定时任务方法是timer.schedule(new RemindTask(), seconds*1000);俩参数分别是TimerTask子类,具体执行定 ...
- java timer线程结束_Java线程Timer定时器用法详细总结
定时/计划功能主要使用的就是Timer对象,它在内部还是使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联. Timer类主要作用就是设置计划任务,但封装任务的类却是TimerTask类.T ...
- java+timer+退出,java timer 兑现在指定时间执行方法
java timer 实现在指定时间执行方法 最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下. 下面是我写的一些代码 imp ...
- JAVA Timer 定时器
JAVA Timer 定时器测试 MyTask.java: package com.timer; import java.text.SimpleDateFormat; import java.uti ...
最新文章
- linux查看log4c版本号,linux下安装log4cplus
- 汇编中16进制的写法问题
- 面试专题(Mysql及Mongodb)
- 统计学习笔记(4) 线性回归(1)
- fullpage常用配置
- 米粉期盼小米Civi推Pro版本:搭载骁龙870旗舰芯片
- ubuntu安装msql5.7
- 给定一个N位数,得到一个N-k位的数中最小的数
- sql判断字段不为null_什么是NULL值
- 视觉平台搭建——光源选择
- coco数据集大小分类_COCO数据集的简单介绍
- STC单片机使用RS485下载程序方法
- matlab里的pid参数调节,pid调节的方法
- 工作站 服务器 监控系统,电网工作站智能安全监控系统的设计与实现
- 关于适配,我想说。。。
- c语言 字符转二进制输出,C语言 如何把一个ASCII码转换为二进制输出?
- 上海升级为欧莱雅集团北亚区总部;西门子与太古可口可乐将共同打造18座数字化工厂 | 美通企业日报...
- 【安卓】【Dimens】适配文件创建
- 阿里妈妈广告进入联合早报网
- 离散傅立叶变换与逆变换