Java 等待可完成的未来列表
如何等待未来列表15分钟(如果未完成),而不是每个未来? 下面的代码将为每个未来等待15分钟。但这不是我想要的Java 等待可完成的未来列表,java,asynchronous,future,Java,Asynchronous,Future,如何等待未来列表15分钟(如果未完成),而不是每个未来? 下面的代码将为每个未来等待15分钟。但这不是我想要的 for (CompleteableFuture<String> m : futureList) { m.get(15, TimeUnit.MINUTES) ; } Syso( " Send email") ; for(CompleteableFuture m:futureList){ m、 get(15,时间单位:分钟); } 系统(“发送电子邮件”);
for (CompleteableFuture<String> m : futureList) {
m.get(15, TimeUnit.MINUTES) ;
}
Syso( " Send email") ;
for(CompleteableFuture m:futureList){
m、 get(15,时间单位:分钟);
}
系统(“发送电子邮件”);
像这样使用:
CompletableFuture.allOf(futureList).get(15, TimeUnit.MINUTES);
也许您可以跟踪经过的时间,并在后续迭代中只等待剩余的时间?如果您可以选择切换到Guava,那么您可以使用
com.google.common.util.concurrent.Futures#allAsList(ListenableFuture…)
是的,实际上我正在获取列表myKafkaFutures,但allAsList没有传递时间的选项。allOf()
接受一个数组。如果futureList
是列表
或集合
则需要对其进行转换。