我应该用一段时间(真实)

时间:2014-04-08 16:13:52

标签: java

我计划构建一个Web服务客户端,它始终检查数据库中的某些记录,并根据每个时刻的数据库内容结果执行某些决策。

所以我在思考,我怎么能让客户端一直运行?

我脑海中唯一想到的就是无限循环。类似的东西:

public static void main(String[] args)
{
  while(true)
  {
     //Do database operation.
  }
}

这是做正如我所解释的事情的正确方法吗?

3 个答案:

答案 0 :(得分:3)

听起来像是调度程序的完美用例,然后您就可以控制刷新率。阅读How to schedule a periodic task in Java?了解您的选择。

答案 1 :(得分:0)

这没有太大的错误,只需在循环中添加一个Thread.sleep(毫秒)值即可。否则你可能会看到一个可以定期调用该方法的轻型调度程序。

答案 2 :(得分:0)

在服务器上使用无限循环并不是一个坏主意。它在tutorials that explain writing servers中很普遍。通常,我不倾向于将它放在我的main方法中,而是将其封装在一个单独的线程中。我通常也不会使用true,但是可以切换一些变量,以便在某些操作(来自客户端的消息,按键操作,GUI操作等)中,我可以设置该变量为false以停止执行服务器。

但是,您可能希望查看其他concurrency options,例如pausing execution of threads,这样您就不会总是执行操作,或Executor interfaces来管理线程(尤其是预定的线程)执行设施)。