我正在寻找一种方法来检查一段时间内的作业状态:如果在轮询期间我得到作业已完成的结果,我会返回它,否则我会继续轮询,直到我设置的时间段结束并返回失败结果。我知道如何使用定时器和while循环来完成这项工作。有更好的方法吗?提前感谢
更好的结果池方法应该是使用CompletionService。
既然您已经在使用异步通信方式,那么让您的线程实现Callable并实现类似于在run方法中所做的调用方法。
现在,当您使用完成服务和执行器服务时,只需说提交即可。使用完成服务,您可以获得一个阻塞队列,当您获得结果时,完成服务会将结果放入队列中,然后您可以对结果执行任何操作。