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

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

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

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