java中timer 和timertask
来源:互联网 发布:mac桌面文件不见了 编辑:程序博客网 时间:2024/05/25 01:36
通过Timer与TimerTask相结合实现的定时器功能。具体实现过程如下:
第一步,得到Timer的实例化对象
Timer timer= new Timer() ;
第二步,实例化TimerTask对象
TimerTask timerTask = new TimerTask(){
publicvoid run(){
//Doing something
}
}
实例化TimerTask对象的时候,需要重写它的run()方法,然后在这个方法体内增加需要执行的具体操作。比如 输出一句话,发送一个消息之类的。
第三步,启动定时器
Timer.schedule(TimerTask, delay, period) ;
这样创建并启动一个定时器的工作就完成,但是在实际使用的过程中,可能会需要一些其他方面的操作手段。
因为在项目程序运行过程中,某个时刻定时器的参数被修改,比如delay,period。为了及时的使用最新的正确的数据,就需要对已经存在的定时器进行关闭并且使用新的参数重新创建并启动。
第一步,取消TimerTask,并在定时器Timer队列中将其删除。
If(timerTask == null){
timerTask .cancel() ;
}
第二步,重新启动定时器
If(timerTask!= null){
timerTask = new TimerTask(
public void run(){
//do something
}
) ;
}
timer.schedule(timeTask,delay,period) ;
值得注意的地方是被执行了cancle()方法之后的TimerTask,在重新启动定时器的时候,必须重新实例化TimerTask才OK,不然会报“java.lang.IllegalStateException:TimerTask is scheduled already”的错误。每个定时器任务TimerTask只能被放置一次。
补充一点,timer 可以同时添加多个timertask。
cancel方法,timer和timertask都有。
- java中timer 和timertask
- Java中TimerTask、Timer
- java中Timer和timertask使用例程
- (转)Java中Timer和TimerTask详解
- java中Timer和TimerTask用法
- Java中Timer和TimerTask的使用
- Java 中 Timer 和 TimerTask实现多线程
- Java中Timer和TimerTask的使用
- Java 中Timer和TimerTask 定时器使用
- Java Timer和TimerTask
- JAVA Timer和TimerTask
- Java Timer和TimerTask
- java Timer和TimerTask
- Java Timer和Timertask
- java Timer和TimerTask详解
- 【Java】Timer和TimerTask详解
- java类Timer和TimerTask
- Java Timer和TimerTask实例教程
- 暑期集训第二场--作死的C题
- 如何使用VIM的Help
- Java类加载器
- 创建只有后缀名的文件
- JDK中的AOP、动态代理
- java中timer 和timertask
- Linux/Windows下安装Maven
- vb.net中用Xpath遍历子节点的问题
- 英文Ubantu系统安装中文输入法
- iOS学习笔记---数据库SQLite3的基本操作并讲内容显示在tableView中
- 学习链接
- 时间的狂流
- 深入理解Android Notifiction机制
- 改进的筛素数法