Java @异步、未来、异步结果;“有什么方法?”;“等待”;异步函数的完成
上下文:我对Spring非常陌生,以前从未使用过@Async。我被指示根据电子邮件中发送给我的示例代码复制部分代码 如果我要这样做,根据@async的文档和指南,我唯一能说的方法就是使用Future.isDone(),并且可能有一个列表,我可以在节点“完成”后从中删除节点,并在列表为空时继续 我想知道的是,是否有其他方法可以知道“未来”何时完成 在给我的示例代码中,没有任何地方有future.isDone()行 它们只是在发出异步请求后调用另一个函数,该函数使用for循环作为Java @异步、未来、异步结果;“有什么方法?”;“等待”;异步函数的完成,java,spring-boot,asynchronous,Java,Spring Boot,Asynchronous,上下文:我对Spring非常陌生,以前从未使用过@Async。我被指示根据电子邮件中发送给我的示例代码复制部分代码 如果我要这样做,根据@async的文档和指南,我唯一能说的方法就是使用Future.isDone(),并且可能有一个列表,我可以在节点“完成”后从中删除节点,并在列表为空时继续 我想知道的是,是否有其他方法可以知道“未来”何时完成 在给我的示例代码中,没有任何地方有future.isDone()行 它们只是在发出异步请求后调用另一个函数,该函数使用for循环作为 for (Entr
for (Entry<AClass, Future<String>> a : b.entrySet()) {
for(条目a:b.entrySet()){
“foreach”是否存在某种神奇的迭代器巫毒,或者可能有人给我的示例代码不完整,或者是否存在其他问题?我相信您对
future.isDone()方法感到困惑
isDone它只会返回true或false
如果以任何方式完成,则返回true:正常、异常或通过取消
若要对Future对象执行操作,无需调用Future.isDone()
并查看任务是否已完成
public T get()
抛出中断异常,
ExecutionException(您应该看到此方法)
如有必要,等待此未来完成,然后返回其结果
抛出:
CancellationException-如果此期货已取消
ExecutionException-如果此未来异常完成
InterruptedException-如果当前线程在等待时被中断