轮询作业状态 java

Polling for a job status java

我正在寻找一种方法来检查一段时间内的工作状态: 如果在轮询期间我得到作业已完成的结果,我 return 它,否则我继续轮询直到我设置的时间段结束并且 return 失败结果。 我知道如何使用计时器和 while 循环来做到这一点。 有更好的方法吗? 提前致谢

合并结果的更好方法应该是使用 CompletionService

由于您已经在使用异步通信方式,因此让您的线程实现 Callable 并实现类似于您在 运行 方法中执行的调用方法。

现在,当您使用完成服务和您的执行者服务时,只需说提交即可。使用完成服务,你会得到一个阻塞队列,当你得到结果时,完成服务会将结果放入队列,然后你可以对结果做任何你想做的事情。