Android线程—Timer类(四)
来源:互联网 发布:笔记本跑分软件 编辑:程序博客网 时间:2024/06/06 09:42
Timer类的schedule方法的TimerTask任务队列是排队运行的,那么任务队列怎么清除呢?
用的是cancel方法,而TimerTask和Timer都有cancel的方法,下面看下这两种的示例。
TimerTask类的cancel方法
TimerTask类中的cancel方法的作用是将自身从任务队列中清除,既然是TimerTask类的方法,那么就是在TimerTask的子类中调用,下面请看示例。
在任务里一个任务调用cancel方法,另外一个不调用,用来作对比,下面请看测试结果。
从结果中可以看到,MyTask1任务只运行一次就从任务队列里面清除,而其他任务(MyTask2)则不受影响。
Timer类的cancel方法
Timer类的cancel方法的作用是将任务队列中的全部任务清空。下面看下示例代码。
在这边要注意的是,如果timer.cancel()方法放在timer.schedule(mt1, dateByStr, 4000)代码之前的话,运行的话就会报错,因为还没开始就结束了。具体可以看下源代码哪里报的异常。
从这边结果可以看到,调用timer.cancel()方法之后,任务就被清除了,进程也结束了,这边没把运行的进程截下来,大家可以打打代码看下,此时的按钮已经变灰,也就是进程已经结束。
但是这边使用Timer类的cancel方法的时候也要注意,有时候并没有争抢到队列锁的时候,也是会使队列任务正常执行,下面看下简单的实例代码。
可以看到有些timer类还是执行了。所以在调用timer的cancel的时候需要注意。
阅读全文
0 0
- Android线程—Timer类(四)
- Android线程—Timer类(一)
- Android线程—Timer类(二)
- Android线程—Timer类(三)
- Android线程—Timer类(五)
- Java线程(四):Timer和TimerTask
- Java线程(四):Timer和TimerTask
- Java线程(四):Timer和TimerTask
- Java线程(四):Timer和TimerTask
- java 计时器线程 Timer类
- Android 线程和Timer的销毁
- Android 线程和Timer的销毁
- Android线程和Timer的销毁
- Java 线程——Timer & TimerTask
- java线程系列---类中的定时器Timer
- java中的Timer类和线程问题
- Android Timer类的使用
- Android Timer类的使用
- Android自定义视图
- 210. Course Schedule II
- WWDC2017回顾
- CentOS 7 使用composer install 报错phpunit/phpunit 4.8.35 requires ext-dom *
- Android 内存泄漏整理
- Android线程—Timer类(四)
- qtcpsocket调用write和read函数写数据乱码问题解决方法
- 比较有意思的比较内表的小函数
- AndroidStudio导入项目在 Building gradle project info 一直卡住
- AngularJS最理想开发工具WebStorm(转)
- 网易云信-网易验证码短信,网易通知类短信的使用
- 设置cookie与获取cookie
- 高通平台之开机logo,企鹅logo替换
- jade模板引擎的使用方法