Java Timer 实现简单定时任务
4星 · 超过85%的资源 需积分: 10 83 浏览量
更新于2024-10-14
1
收藏 2KB TXT 举报
该资源提供了一个简单的Java定时器示例,使用自定义的`Timer`类和`Clock`类来实现定时任务的执行。`Timer`类负责设置间隔时间、存储任务并启动计时,而`Clock`类则模拟了时间的流逝。
在Java中,定时任务通常涉及到`java.util.Timer`和`java.util.TimerTask`类,但这个例子中,作者创建了自己的`Timer`和`Clock`类来实现类似的功能。`Timer`类的核心在于它接受一个间隔时间和一个`Task`对象作为参数,然后在一个新线程中运行一个循环,检查当前时间是否超过了设定的间隔,如果超过,则执行任务。
`Timer`类的主要成员变量包括:
1. `interval`: 存储了定时器的间隔时间,单位为毫秒。
2. `task`: 代表要执行的任务,自定义的`Task`类应该包含一个`doit()`方法来表示实际的任务操作。
3. `clock`: 使用`Clock`类来获取当前模拟的时间。
`Timer`类的主要方法有:
- `getTask()`: 获取关联的任务对象。
- `getInterval()`: 获取设定的间隔时间。
`Clock`类继承自`Thread`,用于模拟时间的流动。它有两个成员变量:
1. `oldTime`: 记录系统启动时的时间。
2. `currTime`: 表示当前模拟的时间。
`Clock`类的`run()`方法是一个无限循环,不断更新`currTime`,使其等于系统当前时间。`getCurrTime()`方法用于获取当前模拟时间。
在这个示例中,`Timer`类的构造函数启动了一个新的线程,该线程会持续检查`Clock`的当前时间是否达到或超过设定的间隔。如果达到,就执行`Task`的`doit()`方法,并将`Clock`的当前时间重置为0,以便下一次触发。
这个例子展示了如何用基本的Java编程概念实现一个简单的定时器,但请注意,这并不是Java标准库提供的定时解决方案,实际开发中可能会选择使用`java.util.Timer`和`java.util.TimerTask`或者`java.concurrent.ScheduledExecutorService`等更强大且线程安全的工具。
142 浏览量
155 浏览量
157 浏览量
163 浏览量
2015-06-19 上传
432 浏览量
131 浏览量
286 浏览量
fix_huang
- 粉丝: 24
最新资源
- C++ STL编程指南:设计组件解析
- 网站数据加密技术解析:DES、三重DES与RSA算法
- 单片机实验:LED闪烁灯实现与延时程序设计
- ABAP开发中常见问题及表结构查询方法
- RESTful HTTP应用实践与关键原则解析
- Java初学者指南:抽象类与接口解析
- CA3140A高增益运算放大器:集成MOSFET与双极晶体管的高性能解决方案
- 提升效率:Eclipse快捷键大全
- ActionScript 3.0 动画基础教程:从入门到精通
- AVR单片机实现的数字式SF6气体密度继电器设计
- ViSAGE:社会群体演化模拟与分析虚拟实验室
- Spring整合Struts与Hibernate:业务系统开发实践
- ActionScript 3.0 Cookbook 中文版:权威指南
- 信息技术在教务管理中的应用:Visual Basic6.0环境下的学生管理系统
- DIV+CSS学习难点实战经验梳理
- EJB设计模式解析:门面模式的应用与优势