java 任务轮询

changlj321 2012-06-14 11:55:22
		for(; ;){
System.out.println("working"+new Date(System.currentTimeMillis()).toLocaleString());
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

做死循环让任务过一定时间轮询 这样实现可以吗 有没有好的建议 源码更好
...全文
991 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙四 2012-06-14
  • 打赏
  • 举报
回复
Timer有诸多问题,http://www.ticmy.com/?p=82
leandzgc 2012-06-14
  • 打赏
  • 举报
回复
楼主可以用java的定时器来实现。
/**
* @author LE
*
*/
public class ContextListener implements ServletContextListener {

private java.util.Timer timer = null;

public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定时器销毁");
}
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("定时器已启动");
timer.schedule(new DbQueryTask(event.getServletContext()), 0, 1200 * 1000);
event.getServletContext().log("已经添加任务调度表");

}
}
这个是我们项目的定时器,楼主网上搜一下吧。
龙四 2012-06-14
  • 打赏
  • 举报
回复
很显然应该用Executors.newScheduledThreadPool(1).scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
qybao 2012-06-14
  • 打赏
  • 举报
回复
线程 LZ的代码
线程池 1L的代码
timer --自己看文档吧,跟1L代码相似
都可以

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧