【TimerTask】android TimerTask 的简单应用
来源:互联网 发布:家用万兆网络 编辑:程序博客网 时间:2024/05/01 06:26
http://blog.csdn.net/ghsau/article/details/7436458
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。
Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。
一个Timer可以调度任意多个TimerTask,它会将TimerTask存储在一个队列中,顺序调度,如果想两个TimerTask并发执行,则需要创建两个Timer。下面来看一个简单的例子:
- import java.util.Timer;
- import java.util.TimerTask;
- public class TimerTest {
- static class MyTimerTask1 extends TimerTask {
- public void run() {
- System.out.println("爆炸!!!");
- }
- }
- public static void main(String[] args) {
- Timer timer = new Timer();
- timer.schedule(new MyTimerTask1(), 2000);// 两秒后启动任务
- }
- }
看一个稍复杂的例子,假设有这样一种需求,实现一个连环炸弹,2秒后爆炸一次,3秒后爆炸一次,如此循环下去,这就需要创建两个任务,互相调度,代码如下:
- import java.util.Date;
- import java.util.Timer;
- import java.util.TimerTask;
- public class TimerTest {
- static class MyTimerTask1 extends TimerTask {
- public void run() {
- System.out.println("爆炸!!!");
- new Timer().schedule(new MyTimerTask2(), 2000);
- }
- }
- static class MyTimerTask2 extends TimerTask {
- public void run() {
- System.out.println("爆炸!!!");
- new Timer().schedule(new MyTimerTask1(), 3000);
- }
- }
- public static void main(String[] args) {
- Timer timer = new Timer();
- timer.schedule(new MyTimerTask2(), 2000);
- while(true) {
- System.out.println(new Date().getSeconds());
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
自JDK5之后,可以用ScheduledThreadPoolExecutor来替代Timer。
本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7436458,转载请注明。 0 0
- 【TimerTask】android TimerTask 的简单应用
- android TimerTask 的简单应用
- android TimerTask 的简单应用
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法
- android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is schedule
- android中Timer和TimerTask的应用
- android中TimerTask的简单使用
- Android Timer,TimerTask简单的使用
- Android 定时器TimerTask 简单使用
- TimerTask
- TimerTask
- TimerTask
- TimerTask
- Timer和TimerTask的简单使用
- Timer 和 TimerTask的简单使用
- Timer,TimerTask简单讲解
- 亲爱的人
- mysql 备份还原常用命令
- 图像处理——滤波、膨胀腐蚀
- Activity不容忽视的回调方法
- 【数据结构】 链表的19种基本操作(完整版)
- 【TimerTask】android TimerTask 的简单应用
- 《黑马程序员》 空中网面试第二题分析
- JSONObject和JSONArray的使用方法
- Android初试--自定义ListView的使用
- 分布式计算、并行计算及集群、网格、云计算的区别
- 经典导航栏04,一个精彩的JS+CSS精彩导航实例
- 英雄联盟之谁与争锋
- php || 与 or
- 李京:中国科技大学移动平台——掌上科大