gpt4 book ai didi

java - 如何获取任何已完成的可调用的结果?

转载 作者:行者123 更新时间:2023-12-02 06:12:15 24 4
gpt4 key购买 nike

有没有办法创建一个不断更新的线程池并检查是否有任何提交的可调用对象已完成并获取该值? ExcutorService 允许您提交一堆线程,然后稍后获取可调用结果,但是如果您不知道将提交多少个可调用对象或者您想连续提交可调用对象怎么办?

ThreadPoolExecutor 听起来像是我想要的,但这只能在可运行列表上工作,而且我需要能够从线程中获取结果。

就我而言,顺序并不重要。我想不断地将可调用对象添加到某种队列中,然后在这些结果进入时对其执行某些操作。这可以完成吗?

最佳答案

我不是 100% 确定我理解您的要求,但我认为您可以使用 ExecutorCompletionService .

此类包装了一个 Executor,您可以使用 submit 添加任务,并使用 takepoll 检索下一个已完成的任务任务。如果还没有完成的任务,take 将阻塞,直到一项任务完成。

关于java - 如何获取任何已完成的可调用的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21784102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com