Android线程—Timer类(三)
来源:互联网 发布:mac打不开淘宝 编辑:程序博客网 时间:2024/06/17 14:17
今天来介绍下timer的schedule(TimerTask task, Date firstTime, long period)方法,该方法的主要作用是在指定的日期之后,按照指定的间隔周期性的无限循环的执行某一任务。
这个类就是timer类执行的任务,在项目中把要循环执行的代码放在run方法既可以了。
计划时间晚于当前时间,时间到了就按周期执行,下面请看测试代码
从结果可以看到,任务在设定的时间到了之后按照周期无限循环执行任务的代码,并且按照我们设定的4s时间。
计划时间早于当前时间,提前运行后周期执行
从结果可以看到,如果设置的时间比当前时间早的话,那么先会执行一次后,再按照我们设定的时间循环运行。
但是呢,如果我们设置的时间,为4s的话,而执行的任务花费了5s时间,那么会是执行完之后,再等待4s时间接着运行吗?下面请看测试。
如上图所示,我们在MyTask1里面休眠5s模拟任务执行5s的情况,5s后打印出时间(这边就不贴出代码了,自己补充)。
从结果可以看到,如果我们任务的执行时间大于我们设置的循环执行时间的时候,那么任务执行完之后,马上就开始执行。而不是等待任务执行完之后等4s再执行。
下面在看下任务执行时间小于设定时间的情况。
这边可以看到,如果任务执行花费2s,而我们设置的循环运行时间为4s,那么从任务开始时就开始计算时间,不管任务执行多少秒(只要在设定的循环时间之内),下次执行任务的时间都是从开始时间到设定的时间,图上开始时间后4s开始执行下一次任务。
阅读全文
0 0
- Android线程—Timer类(三)
- Android线程—Timer类(一)
- Android线程—Timer类(二)
- Android线程—Timer类(四)
- Android线程—Timer类(五)
- java 计时器线程 Timer类
- Android 线程和Timer的销毁
- Android 线程和Timer的销毁
- Android线程和Timer的销毁
- pool(三)——Timer
- Timer---Android 定时器的三种实现
- Java 线程——Timer & TimerTask
- java线程系列---类中的定时器Timer
- java中的Timer类和线程问题
- Android线程三、Handler
- .NET Timer三类控件使用
- Android Timer类的使用
- Android Timer类的使用
- 个人总结的Linux常用命令
- 椭圆拟合算法总结
- [置顶] BUG
- Intellij IDEA安装与启动
- Vue2.0的小总结
- Android线程—Timer类(三)
- pic16多路adc采样
- 设计模式(14)-Strategy 策略模式
- 刷清橙OJ--A1045.交换
- ArrayList.toArray(T[] a) 的说明
- <良好的编程风格与习惯>使用数据的一般事项核对表
- 学习3:ROS文件系统
- [置顶] 百度云推送push的使用
- kettle使用常见场景