Прежде всего. Поскольку методы, которые вы вызываете, возвращают Future, ни один из них не заблокирует выполнение Thread.
Но это правда, что flatmap будет последовательно объединять две операции. Я имею в виду, что он вызовет первый метод, затем сразу вернется, потому что это Future, а затем вызовет второй.
Это произойдет в двух опциях, которые вы опубликовали ранее (для понимания и flatmap), потому что они в основном одинаковы.
Если вы хотите вызывать два метода одновременно (в двух разных потоках), так что вы не знаете, какой из них начнет выполняться первым, Вы должны использовать параллельные коллекции.
Но в вашем случае, возможно, лучше не использовать их, потому что использование фьючерсов гарантирует, что поток не будет блокировать