没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java 语言中 Timer 类的简洁用法(一)...............................................................................1
Java 语言中 Timer 类的简洁用法(二)...............................................................................7
Java 语言中 Timer 类的简洁用法(一)
所有类型的 应用程序一般都需要计划重复执行的任务。企业应用程序需要计划每日的
日志或者晚间批处理过程。一个 或者 日历应用程序需要根据用户的约定计划
闹铃时间。不过,标准的调度类 和 没有足够的灵活性,无法支持通常
需要的计划任务类型。在本文中,开发人员 向您展示了如何构建一个简
单通用的计划框架,以用于执行任意复杂的计划任务。
我将把 和 统称为 计时器框架,它们使程序员
可以很容易地计划简单的任务(注意这些类也可用于 中)。在
中引入这个框架之前,开发人员必须编写自己的调度程
序,这需要花费很大精力来处理线程和复杂的 !"#$%方法。不过,计时器框
架没有足够的能力来满足许多应用程序的计划要求。甚至一项需要在每天同一时间重复执
行的任务,也不能直接使用 来计划,因为在夏令时开始和结束时会出现时间跳跃。
本文展示了一个通用的 和 计划框架,从而允许更灵活的计划任务。这
个框架非常简单 —— 它包括两个类和一个接口 —— 并且容易掌握。如果您习惯于使用
定时器框架,那么您应该可以很快地掌握这个计划框架。
计划单次任务
计划框架建立在 定时器框架类的基础之上。因此,在解释如何使用计划框架以及如何
实现它之前,我们将首先看看如何用这些类进行计划。
想像一个煮蛋计时器,在数分钟之后(这时蛋煮好了)它会发出声音提醒您。清单 中的
代码构成了一个简单的煮蛋计时器的基本结构,它用 语言编写:
清单 &&类
'"&&&"&(')
')
')
'!""&&*
++++',-#$%)
++++',)
++++'!"&&$%*
++++++++-)
++++.
++++'!"$%*
++++++++"$#$%*
++++++++++++'!"$%*
++++++++++++++++'/$%)
++++++++++++++++""$%)
++++++++++++.
++++++++++++''/$%*
++++++++++++++++/'$01&&/20%)
++++++++++++++++33#'/
++++++++++++.
++++++++.4564666%)
++++.
++++'!""$&78&%*
++++++++&&&&-#&&$%)
++++++++&&$%)
++++.
.
&&实例拥有一个 实例,用于提供必要的计划。用 $%方法启动煮蛋计
时器后,它就计划了一个 ,在指定的分钟数之后执行。时间到了,就在
后台调用 的 $%方法,这会使它发出声音。在取消计时器后这个应用程序
就会中止。
计划重复执行的任务
通过指定一个固定的执行频率或者固定的执行时间间隔,可以对重复执行的任务进
行计划。不过,有许多应用程序要求更复杂的计划。例如,每天清晨在同一时间发出叫醒
铃声的闹钟不能简单地使用固定的计划频率 95:66666毫秒(:小时),因为在钟拨快
或者拨慢(如果您的时区使用夏令时)的那些天里,叫醒可能过晚或者过早。解决方案是
使用日历算法计算每日事件下一次计划发生的时间。而这正是计划框架所支持的。考虑清
单 中的 ;<"实现:
清单 ;<"类
'"&&&"&(')
'('=)
')
'&&"&")
'&&"&")
'
&&"&('/>)
'!"";<"*
++++',""-#"$%)
++++','==-
++++++++#'=$0////
??@@0%)
++++', A/")
++++'!";<"$ A/
"%*
++++++++ A/- A/)
++++++++-)
++++++++"-")
++++.
++++'!"$%*
++++++++""$#"$%*
++++++++++++'!"$%*
++++++++++++++++;$%)
++++++++++++.
++++++++++++';$%*
++++++++++++++++/'$0'20B
++++++++++++++++++++0>C0B=A$#$%%%)
++++++++++++++++33#
++++++++++++.
剩余10页未读,继续阅读
资源评论
Vincent_ycachi
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功