我想了解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