Rust (язык программирования): различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
Tetromino (обсуждение | вклад) →Параллельные вычисления: async/await |
Tetromino (обсуждение | вклад) м →Параллельные вычисления: орфография |
||
Строка 257:
В более ранних версиях языка поддерживались легковесные потоки, но потом от них отказались в пользу нативных [[Поток выполнения|потоков]] операционной системы. При этом рекомендуемым методом обмена данными между потоками является отправка сообщений, а не использование общей памяти. Для достижения высокой производительности возможно отправлять данные не через копирование, а используя собственные указатели (<code>Box<T></code>). Они гарантируют только одного владельца.
Определение и вызов [[Асинхронный ввод-вывод|асинхронных]] операций поддерживаются на уровне синтаксиса языка: ключевое слово <code>async</code> определяет асинхронную функцию или блок; обычный вызов такой функции возвращает объект с типажом <code>Future</code> — дескриптор [[Ленивые вычисления|ленивой]] асинхронной операции<ref>{{cite web|author=Niko Matsakis|title=Async-await on stable Rust!|url=https://blog.rust-lang.org/2019/11/07/Async-await-stable.html|date=2019-11-07|accessdate=2020-06-06|lang=en}}</ref>. Вызов <code>.await</code>
== Другие особенности ==
|