Java中的Timer和TimerTask来实现多线程
2015-04-07 16:12
405 查看
Timer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后使用这对象的schedule方法来完成这种间隔的操作。
public void schedule(TimerTask task, long delay, long period)
public void schedule(TimerTask task, Date when, long period)
task:TimerTask类型的对象,我们实现TimerTask的run()方法就是要周期执行的一个任务
delay/when:第一种是long类型,表示多长时间后开始执行,另一种是Date类型,表示从那个时间后开始执行
period:执行的周期,ms。
public void schedule(TimerTask task, long delay, long period)
public void schedule(TimerTask task, Date when, long period)
task:TimerTask类型的对象,我们实现TimerTask的run()方法就是要周期执行的一个任务
delay/when:第一种是long类型,表示多长时间后开始执行,另一种是Date类型,表示从那个时间后开始执行
period:执行的周期,ms。
publicclassTimerTaskActivityextendsActivity{ privateTimer mTimer; @Override protectedvoid onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); // init timer mTimer =newTimer(); // start timer task setTimerTask(); } @Override protectedvoid onDestroy(){ super.onDestroy(); // cancel timer mTimer.cancel(); } privatevoid setTimerTask(){ mTimer.schedule(newTimerTask(){ @Override publicvoid run(){ Message message =newMessage(); message.what =1; doActionHandler.sendMessage(message); } },1000,1000/* 表示1000毫秒之後,每隔1000毫秒執行一次 */); } /** * do some action */ privateHandler doActionHandler =newHandler(){ @Override publicvoid handleMessage(Message msg){ super.handleMessage(msg); int msgId = msg.what; switch(msgId){ case1: // do some action break; default: break; } } }; }
相关文章推荐
- Java定时多线程任务实现(TimerTask)
- Java中的Timer和TimerTask来实现多线程
- 使用Spring来实现任务计划服务一:继承java.util.TimerTask
- Java中使用Timer和TimerTask实现多线程
- JAVA定时器实现之一(通过继承TimerTask)
- 使用Spring来实现任务计划服务二:不继承java.util.TimerTask
- JAVA定时器实现之一(通过继承TimerTask)
- java多线程:2、Timer实现
- Java中使用Timer和TimerTask实现多线程
- j2me 使用Timer和TimerTask来实现多线程
- TimerTask实现多线程
- java定时任务之Timer实现多线程任务
- 在J2ME中使用Timer和TimerTask来实现多线程
- Java 中 Timer 和 TimerTask实现多线程
- Java中使用Timer和TimerTask实现多线程
- java.util.Timer类可以实现多线程一样的功能
- Java中Timer和TimerTask来实现计时器循环触发
- JAVA定时器实现之一(通过继承TimerTask)
- Java中使用Timer和TimerTask实现多线程
- 在J2ME中使用Timer和TimerTask来实现多线程