LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

а async/await — явное указание, по выбору программиста.

Я называю `async`/`await`-ом всю работу по добавлению асинхронности в Rust - и языковые конструкции, и то, во что они рассахариваются, и даже runtime-поддержку.

Я пока не могу сообразить, можно ли async/await сделать без переключения стеков.

Сейчас не могу найти ссылку, но я видел вариант рассахаривания `async fn`, в котором всё состояние функции хранилось в (автоматически создаваемом компилятором) объекте, так что одна нить ОС могла исполнять любое количество `async fn`.

Исходная версия tailgunner, :

а async/await — явное указание, по выбору программиста.

Я называю `async`/`await`-ом всю работу по добавлению асинхронности в Rust - и языковые конструкции, и то, во что они рассахариваются, и даже runtime-поддержку.

Я пока не могу сообразить, можно ли async/await сделать без переключения стеков.

Сейчас не могу найти ссылку, но я видел вариант рассахаривания `async fn`, в котором всё состояние функции хранилось в (автоматически создаваемом компилятором) объекте, а так что одна нить ОС могла исполнять любое количество `async fn`.