Ссылка на сайт

https://os.phil-opp.com/async-await/

Async-Await от Филиппа Опперманна в его блоге «Написание ОС на Rust».

Описание

Подробное описание механизма асинхронного ожидания, охватывающее как теоретическую, так и практическую часть в Rust. Он содержит дополнительные главы о Pin (и зачем это нужно в Rust), описывает Futures, подробно рассказывает о преимуществах и недостатках асинхронных операций и, наконец, приводит конкретный пример использования async/await для обработки нажатий клавиш.

Почему?

Большинство статей, которые я видел по теме, очень мало освещают всю тему, в основном фокусируясь на деталях и знаниях об использовании асинхронности. Некоторые из них близки к стилю «заставь это работать», не предоставляя обоснования и ограничивая мотивацию «это быстро, чувак».

Что я узнал

У меня появилась мотивация попробовать асинхронность в Rust, я получил краткий обзор с хорошим практическим введением. Но главным сюрпризом стал отличный пас на типе Pin. Я видел это раньше в каком-то коде (в основном rust для ядра linux), и я немного догадался, что он делает, но не всю грандиозность авто-черты Unpin.

Второе чтение?

Абсолютно да. Текст действительно плотный и ближе к книге (или, по крайней мере, к паре глав из книги), и чтобы все это впитать, требуется время и практический опыт.