问题: 我有两种方法:
proccessRequest();
proccessResponse();
如果我运行它们,那么我得到一个错误,因为请求进程花费的时间太长而响应部分出错了。但是如果我添加Thread.sleep(300);他们之间,然后运行正常。
proccessRequest();
Thread.sleep(300);
proccessResponse();
对此有什么好处?使用Thread.sleep停止应用程序不是一个好的解决方案。 我应该使用某种计时器吗?
答案 0 :(得分:0)
您可能希望使用locks。
答案 1 :(得分:0)
看起来processRequest()
实际上并没有等待响应准备就绪。当两者之间没有延迟时,响应还没有出现(因为生成它所需的时间比在方法调用中花费的时间多)。 processResponse
非常合理地将此作为超时处理。
答案 2 :(得分:0)
寻找locks和conditions。您的响应需要等待请求完成。如果它们是主题,则您的响应需要 加入 请求。