Java 如何获得任何已完成的可调用项的结果?
有没有办法创建一个不断更新的线程池,并检查是否有任何提交的callables已完成并获得该值?ExcutorService允许您提交一组线程,然后稍后获得可调用的结果,但是如果您不知道将提交多少个可调用项,或者希望连续提交可调用项,该怎么办 ThreadPoolExecutor听起来像我想要的,但这只能在可运行列表上工作,我需要能够从线程中获得结果Java 如何获得任何已完成的可调用项的结果?,java,multithreading,callable,Java,Multithreading,Callable,有没有办法创建一个不断更新的线程池,并检查是否有任何提交的callables已完成并获得该值?ExcutorService允许您提交一组线程,然后稍后获得可调用的结果,但是如果您不知道将提交多少个可调用项,或者希望连续提交可调用项,该怎么办 ThreadPoolExecutor听起来像我想要的,但这只能在可运行列表上工作,我需要能够从线程中获得结果 就我而言,秩序并不重要。我希望不断地将可调用项添加到某种队列中,然后在这些结果出现时对其进行处理。这能做到吗?我不能100%肯定我理解您的要求,但我
就我而言,秩序并不重要。我希望不断地将可调用项添加到某种队列中,然后在这些结果出现时对其进行处理。这能做到吗?我不能100%肯定我理解您的要求,但我认为您可以使用一个
此类包装执行者,您可以使用
submit
添加任务,使用take
或poll
检索下一个已完成的任务。如果还没有完成任务,take
将一直阻止,直到一个任务完成。谢谢,这看起来像我要找的。