`
tj2008wangqing
  • 浏览: 14606 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

可控制的定时器

阅读更多
    应用程序的开发过程中,大家都经常用的定时器去轮询一些数据,当这些数据有变化时

它不会主动向你发request,只有你不断的向它发送request,它才能给你response,你才

能维护自己的数据是最新的,这种情况,想必大家都会想到定时器,用java框架的定时器做

当然没错。

     然而,在某些需求下,当这个业务启用时,你才需要去轮询这些数据。传统的定时器,

当应用服务器启动时,定时器就会间断地执行,这些当然占有系统资源,怎样才能应付着样

需求,在启动某项业务是才开启定时器,当这种业务结束定时器。你们肯定有自己的办法,

我对传统的定时器操作不太精通,变换了一下思路,有逻辑来代替定时器的,实现了这种需

求。下面举个小例子来说明。
    
public static void main(String[] args) {
    Long l=new Date().getTime();//获得当前系统时间
    while(true){
        if((new Date().getTime()-l)==5000){//轮询停止的条件
    System.out.println(new Date().getTime());
              break;
}
System.out.println(new Date().getTime());//轮询时执行的业务
try {
       Thread.sleep(1000);//轮询的间隔,相当于定时器的间隔时间
} catch (InterruptedException e) {
    e.printStackTrace();
}
     }
}                     
     

      通过上面的逻辑,我们也可以实现灵活的定时器。
  
      如有错误,欢迎指正。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics