П
По-явански
@javanese_online836 подп.
10.2Kпросмотров
5 декабря 2024 г.
Score: 11.2K
Варианты корутин В разных языках корутины ведут себя по-разному. Вот краткий обзор. C#, JavaScript Eager & parallel by default: async-функция возвращает уже запущенный Task/Promise, а await приостанавливает выполнение до завершения задачи. + async не является отдельным видом функций, а просто намекает, что возвращается фьюча – забытый await приводит к параллельному выполнению Go Fire and forget: go statement запускает указанную функцию отдельно. + «неокрашенные» функции – для возврата значения нужна обвязка в виде канала Kotlin Sequential by default: suspend-функция может приостанавливаться. Для параллельного запуска нужен отдельный вызов корутин-билдера — async, launch. – suspend-функции нельзя вызывать из обычных, иерархия функциональных типов разделяется + параллельность явная Rust Lazy: async-функция возвращает фьючу, но запускается она только после .await. + async-функции можно вызывать из обычных + и они явно await-ятся либо явно spawn-ятся параллельно – у тебя там локальная переменная не-Send-типа, так что struct для фьючи сгенерить не получилось, извиняй, братан
10.2K
просмотров
1095
символов
Нет
эмодзи
Нет
медиа

Другие посты @javanese_online

Все посты канала →