TGViewer
Rust Rust @rust_code · 8.91K subscribers
Post #1411 2.93K
⚡️ Одинаковый async/await - разное поведение программы

Исследователи Brown University сравнили семь реализаций асинхронности: JavaScript, C#, Swift, Tokio, Smol, Asyncio и Trio. Ни одна пара не показала полностью одинаковую семантику.

В простом 12-строчном примере функция запускает фоновую запись в лог и завершает работу. Результат зависит от среды:

* JavaScript: AC
* C#: C
* Tokio: ACB
* Swift: AC
* Trio: ABC

Авторы выделили девять параметров, влияющих на выполнение: ленивость, гарантии приостановки, время жизни задачи, сила ссылок, уничтожение, передача исключений, обработка отмены, её направление и сохранение задачи.

Особенности Rust:

* вызов async fn только создаёт Future - выполнение начинается после опроса через runtime
* задача не получает внутренний сигнал отмены, как в Swift или Python с Trio

Одинаковый синтаксис скрывает разные правила запуска, отмены и завершения задач.

http://cel.cs.brown.edu/blog/design-space-async-await
  • ❤ 6
  • 🔥 4
More from @rust_code
  1. Sep 20, 2026Zero cost
  2. Sep 19, 2026🦀 NVIDIA официально идёт в native GPU programming на Rust Теперь CUDA Rust позволяет писа…
  3. Sep 18, 2026yagni
  4. Sep 17, 2026🦀 Rust Pinning без магии: `Pin`, `Unpin` и `Future::poll` Одна из самых сложных тем в Rus…
  5. Sep 17, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
  6. Sep 17, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →