Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Рантаймы

Рантайм обеспечивает выполнение операций асинхронно (реактор) и отвечает за выполнение фьючерсов (исполнитель). В Rust нет «встроенного» рантайма, но доступно несколько вариантов:

  • Tokio: производительный, с хорошо развитой экосистемой функциональности, например Hyper для HTTP или Tonic для gRPC.
  • smol: простой и лёгкий.

Некоторые крупные приложения имеют собственные рантаймы. Например, Fuchsia уже имеет такой.

This slide and its sub-slides should take about 10 minutes.
  • Обратите внимание, что из перечисленных рантаймов в Rust Playground поддерживается только Tokio. Playground также не разрешает никакого ввода-вывода, поэтому большинство интересных асинхронных примеров там не запустятся.

  • Фьючерсы «инертны»: они ничего не делают (даже не начинают операцию ввода-вывода), пока исполнитель их не опрашивает. Это отличается, например, от JS Promise, который выполнится до конца, даже если его никто не использует.