Ссылка на сайт
https://os.phil-opp.com/async-await/
Async-Await от Филиппа Опперманна в его блоге «Написание ОС на Rust».
Описание
Подробное описание механизма асинхронного ожидания, охватывающее как теоретическую, так и практическую часть в Rust. Он содержит дополнительные главы о Pin
(и зачем это нужно в Rust), описывает Futures
, подробно рассказывает о преимуществах и недостатках асинхронных операций и, наконец, приводит конкретный пример использования async/await для обработки нажатий клавиш.
Почему?
Большинство статей, которые я видел по теме, очень мало освещают всю тему, в основном фокусируясь на деталях и знаниях об использовании асинхронности. Некоторые из них близки к стилю «заставь это работать», не предоставляя обоснования и ограничивая мотивацию «это быстро, чувак».
Что я узнал
У меня появилась мотивация попробовать асинхронность в Rust, я получил краткий обзор с хорошим практическим введением. Но главным сюрпризом стал отличный пас на типе Pin
. Я видел это раньше в каком-то коде (в основном rust для ядра linux), и я немного догадался, что он делает, но не всю грандиозность авто-черты Unpin
.
Второе чтение?
Абсолютно да. Текст действительно плотный и ближе к книге (или, по крайней мере, к паре глав из книги), и чтобы все это впитать, требуется время и практический опыт.