假如我要实现一个JAVA定时器,有五种不同的周期模式,如何在这五种不同的周期模式之间进行切换呢,情况类似于杀毒软件的定时更新,可以在配置界面上选择进行每一天或每几天,每周某几天,每月某一天,某一个特定日期,或者手动,在各个周期进行切换时,上一个定时器是如何退出的呢?怎样判断上个定时器是哪个定时器对象呢?该怎么设计呢?我现在已经写了定时器类,把任务和周期作为参数,所有不同周期的定时器都可以调用这个构造函数,以及在定时器和手动模式之间如何切换,主要是设计问题,请大家帮忙想想,给分析一下,欢迎讨论。谢谢了。
解决方案 »
- ----调兵遣将hibernate
- KO众多高手的jdbc问题--请谨慎模仿
- PHP开发与Java开发BBS论坛的优缺点
- Hibernate 对象嵌套异常的问题
- 急:EJB中的自定义异常问题!!!!
- 字符串截取
- hibernatetemplate查询会造成sql注入吗
- 请问:哪位有TOMCAT+MYSQL比较好的案例?还有现在比较稳定的版本是多少?
- 谁用Ias成功实现过ejb呢,我成了!!可是我想实现分布式时却失败了,请教!
- 作为maven项目导入时会报gc overhead limit exceeded,调大内存也没用。
- struts2中的<s:div>中引用的jsp页中的<img>带中文名时显示错误
- spring与hibernate整合时出现的异常
结合日历类计算用户要求的的一些特定日期离现在时间的毫秒数,离启动的剩余时间。
每次设置离启动的剩余时间都把定时器取消任务,重新创建定时器对象。
包含属性1). 周期模式
可以把它记成一个毫秒值, 如果选一天, 就记成24小时, 如果选每隔一周, 就记成24*7, 依此类推.
2). 设置时间
安装时间或者重新设置的那一刻
3). 到期时间
应该更新的那一刻,如果这一刻更新了, 这个时间要再加一个周期模式
4). 更新时间(一个用于计算的值)
更新的时间,记录更新的那一刻,一开始等于设置时间2. 线程维护上边的模式类
用 更新时间 加上 周期模式, 当等于 到期时间
1). 将到期时间再延长一个周期模式,就是加就可以了.
2). 做该做的事
如果没等于到期时间, 就将更新时间一秒一秒的累加