Ласкаво просимо
“Async” — це модель одночасного виконання декількох завдань, при якій кожне завдання виконується одночасно доти, доки воно не заблокується, а потім перемикається на інше завдання, яке готове до виконання. Модель дозволяє виконувати більшу кількість завдань на обмеженій кількості потоків. Це пов’язано з тим, що накладні витрати на кожну задачу зазвичай дуже низькі, а операційні системи надають примітиви для ефективного визначення вводу/виводу, який може продовжувати роботу.
Асинхронна робота Rust базується на “ф’ючерсах”, які представляють роботу, яка може бути завершена в майбутньому. Ф’ючерси “опитуються”, доки вони не сигналізують, що вони завершені.
Ф’ючерси опитуються асинхронним середовищем виконання, і доступно кілька різних середовищ виконання.
Порівняння
- 
Python має подібну модель у своєму
asyncio. Однак його типFutureбазується на зворотному виклику, а не опитується. Програми на асинхронному Python вимагають “циклу”, подібного до середовища виконання в Rust. - 
Тип
PromiseJavaScript подібний, але знову ж таки на основі зворотного виклику. Середовище виконання мови реалізує цикл подій, тому багато деталей вирішенняPromiseприховані. 
Розклад
Враховуючи 10-хвилинні перерви, ця сесія має тривати близько 3 годин та 20 хвилин. Вона містить:
| Сегмент | Тривалість | 
|---|---|
| Основи асинхронізації | 30 хвилин | 
| Канали та потік управління | 20 хвилин | 
| Підводні камені | 55 хвилин | 
| Вправи | 1 година та 10 хвилин |