Одновременное выполнение нескольких Future

До этого времени, мы в основном выполняли футуры используя .await, который блокирует текущую задачу до тех пор, пока не завершится отдельная Future. Однако, настоящие асинхронные приложения чаще всего должны выполнять несколько различных операций одновременно.

Одновременное выполнение нескольких Future

В этой главе мы рассмотрим разные способы одновременного выполнения нескольких асинхронных операций:

  • join!: ждёт завершения всех футур
  • select!: ждёт завершения одной из футур
  • Порождение: создание задач верхнего уровня, которые запускают футуры до их завершения
  • FuturesUnordered: группа футур, которые возвращают результат каждой подфутуры