AM
любой вызов асинк-абстракции ( т.е. различных вариаций Future, Promise итд ) типа .get() .await() и прочих заблокирует тред в котором она находится. т.е. мы получаем сразу дполнительный оверхед, помимо того, что исполнением фьючи занят executor мы ещё блокируем доплнительный тред на обёртку, либо же нужно дальше обмазываться цепочками колбеков никогда не финализируя их до прямого блокирующего вызова.
Могу лишь точно заявить, что использовать блокирующее i/o внутри асинк-задачи — само собой бредятина.