Что такое Future в Java?

Middle
313 просмотров
AFK Offer AI

Future — результат асинхронной операции. Получаешь при submit() задачи в ExecutorService. get() блокирует текущий поток до получения результата (можно с таймаутом). isDone() проверяет завершение. cancel() отменяет задачу. Главный минус — get() блокирующий, нет callback-ов, нельзя комбинировать Future-ы. Поэтому в Java 8 добавили CompletableFuture с thenApply, thenCompose, thenCombine — полноценная асинхронность без блокировок.

Следующий вопрос

Что такое Java Flight Recorder и как его использовать?