我想了解CompletableFuture接口的Java 8 我当前的代码是:CompletableFuture:异步调用,处理结果在当前线程后
CompletableFuture.supplyAsync(() -> wachtwoordBijwerken(gebruikersnaam, wachtwoord))
.thenAccept(this::saveOrUpdateGebruiker)
.exceptionally(e ->
{
log.error("Fout bij het bijwerken van wachtwoord voor gebruiker: " + gebruikersnaam, e);
return null;
});
我预计呼叫saveOrUpdateGebruiker()
在主线程中运行新创建的线程中的异步调用完成后。 但是,调用仍在另一个线程中,这会导致底层hibernate实现中出现问题。
有没有办法将CompletableFuture
用于非阻塞异步调用,并且仍然能够在当前线程中使用结果?
所以最后,结果是阻塞同步调用? (因为get()函数) – Cloud
那么,除非你轮询'isDone()'。这是您可以在当前线程上运行的唯一方法。 – Kayaman