JAVA 如何实现 判断到了某一个时刻 就执行一个任务?

做一个小程序,实现每半个小时自动更新一次数据库,怎么实现程序运行后每隔一段时间就执行一次任务(用sleep或delay程序运行后必需用任务管理器关闭的情况不是我需要的,怎... 做一个小程序,实现每半个小时自动更新一次数据库,怎么实现程序运行后每隔一段时间就执行一次任务(用sleep 或delay程序运行后必需用任务管理器关闭的情况不是我需要的,怎么能不用任务管理器就能关闭?或则其它更好的建议?),或者到了某个时间,比如每个小时的5分5秒就执行一次任务?(到某个时间的更好,谢谢!) 展开
 我来答
Anson0370
推荐于2016-05-12 · TA获得超过1462个赞
知道小有建树答主
回答量:702
采纳率:100%
帮助的人:699万
展开全部
请参考java.util.Timer的文档
public class Timer extends Object
一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。

此类的实例可以实现在指定的时间或延时后开始指定速率(周期)的重复执行 是用来作为后台维护线程的一个很好的选择。

很简单 只需要用你需要的任务来实现一个TimerTask的run方法 并将这个TimerTask的实例在调用timer.scheduleAtFixedRate方法时传入
只需要将开始时间设定为某个小时的5分5秒 然后周期设为一个小时就可以了

具体请参考JDK文档 timer会作为一个独立的线程运行在后台 不影响主线程的运行 并在所有线程都退出后退出(作为守护线程)
匿名用户
2009-04-30
展开全部
你每隔一段时间就开启一个线程就是了
(用这个线程去更新数据库,如果要什么参数,构造函数是好东西)
线程执行完了run内的逻辑代码 自动会被虚拟机回收的
-----------------------------------
Date date = new Data(System.currentTimeMills);
获取当然系统
然后取你要的参数呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
737731043
2009-05-01 · 超过33用户采纳过TA的回答
知道答主
回答量:153
采纳率:0%
帮助的人:99.6万
展开全部
调用这个方法System.currentTimeMillis();返回的是现在程序运行的时间到1997年7月7号的时间,你多次调用System.currentTimeMillis()方法,再相减一下不就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Raymondguo008
2009-04-30 · TA获得超过1634个赞
知道小有建树答主
回答量:887
采纳率:100%
帮助的人:477万
展开全部
关注一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式