Java Thread.sleep()

时间:2014-02-10 01:05:52

标签: java

我正在制作服务器和客户端对,我希望它在发送服务器数据的时间间隔。 Thread.sleep();是否符合此目的?我在之前的项目之前尝试过,整个应用程序冻结了几毫秒,这不是我想要的。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

线程将暂停(“冻结”)该持续时间(或直到中断)。如果您的应用程序是多线程的,其他线程将继续运行。将您的通信线程与您的UI线程分开(或者您希望通过此通信等待延迟的任何其他内容),您将没事。

答案 1 :(得分:1)

简短回答是“是”,Thread.sleep可用于此任务。

你也可以使用:

  • java.util.Timer
  • SwingWorker

根据您的需要,哪种解决方案可能更合适。

Thread.sleep冻结您的应用程序表示您在应用程序主线程的上下文中调用它。如果这是一个GUI,特别是基于Swing,这表明你是在Event Dispatching Thread的上下文中调用它。

在任何一种情况下,我建议您使用单独的Threadjava.util.Timer,或者如果您使用的是Swing UI SwingWorker

看看:

了解更多想法