gpt4 book ai didi

java - CompletionService.take().isDone() 总是 true 吗?

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

可以安全地假设

java.util.concurrent.CompletionService.take().isDone() 

总是返回true?如果是这样,为什么 take() 返回一个 Future,而不是直接返回值?如果不是,文档中使用的“已完成的任务”是什么意思?

最佳答案

因为你可以将 Future 用于其他事情。当你提交()时,你就得到了 future 。所以你可以首先使用返回的Future对象来监视状态或提前取消。其次,如果您更改 futureFactory() (我认为它的名称有所不同,但我安装了 Java 5 而不是 6),您可以向 future 对象添加各种额外的成员。

因此,在执行 take() 时,您是对的,在这种情况下, future 的一部分(状态的跟踪/取消)并不是很有用。但是 OTOH,为什么不按原样返回整个 future ,包括扩展功能?

关于java - CompletionService.take().isDone() 总是 true 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2610295/

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