我正在制作服务器和客户端对,我希望它在发送服务器数据的时间间隔。 Thread.sleep();
是否符合此目的?我在之前的项目之前尝试过,整个应用程序冻结了几毫秒,这不是我想要的。任何帮助表示赞赏。
答案 0 :(得分:2)
线程将暂停(“冻结”)该持续时间(或直到中断)。如果您的应用程序是多线程的,其他线程将继续运行。将您的通信线程与您的UI线程分开(或者您希望通过此通信等待延迟的任何其他内容),您将没事。
答案 1 :(得分:1)
简短回答是“是”,Thread.sleep
可用于此任务。
你也可以使用:
java.util.Timer
SwingWorker
根据您的需要,哪种解决方案可能更合适。
Thread.sleep
冻结您的应用程序表示您在应用程序主线程的上下文中调用它。如果这是一个GUI,特别是基于Swing,这表明你是在Event Dispatching Thread的上下文中调用它。
在任何一种情况下,我建议您使用单独的Thread
或java.util.Timer
,或者如果您使用的是Swing UI SwingWorker
。
看看:
了解更多想法