我希望这个程序无限期地运行,但我不确定最大化 CPU 和内存效率的最佳方法。我创建了一个处理来自服务器的响应的线程,这些响应将每 20 秒左右返回一次。但是,我必须确保服务器仍在发送响应,否则我必须从新服务器获取响应。每次返回响应时,当前系统时间都存储在“lastRTime”中。这里有更好的 Thread.sleep() 替代方案吗?这是我的主线程的结尾。
while(true) {
Thread.sleep(checkInterval);
if (System.currentTimeMillis()-lastRTime > timeDiffThreshold) {
pmsi.beginClose(); //Close the current connection
makeConnection(backupHost,backupPort);
}
}
}
干脆不睡觉会更好吗?