У меня вопрос о методе CompletableFuture:
public <U> CompletableFuture<U> thenApply(Function<? super T, ? extends U> fn)
Дело в том, что JavaDoc говорит только следующее:
Возвращает новый CompletionStage, который, когда этот этап завершается как правило, выполняется с результатом этого этапа в качестве аргумента поставляемая функция. См. Документацию CompletionStage для правил охватывающий исключительное завершение.
Как насчет потоков? В каком потоке это будет выполнено? Что, если будущее будет завершено пулом потоков?