TGViewer
Rust Rust @rust_code · 8.91K subscribers
Post #1185 4.35K
🦀 Как устроен async «под капотом» в Rust — на пальцах и без магии

В статье разобрано, как написать микро async-runtime с нуля на macOS, используя kqueue. Отличный материал, чтобы наконец понять, что происходит под async/await.

Что он реализует

Минимальный, но полноценный стек:

- event loop — сердце рантайма
- poller — ждёт события от ОС
- reactor — связывает I/O-события и задачи
- tasks — единицы работы (future’ы)
- wakers — механизм «разбудить задачу»
- executor — запускает и перепланирует задачи

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

- как kqueue сигналит о готовности сокета
- как future переходит из Pending в Ready
- как waker возвращает задачу в очередь
- как executor крутит цикл выполнения

После такого разборa async в Rust перестаёт быть «чёрной коробкой».

Статья: https://michaelhelvey.dev/posts/rust_async_runtime

michaelhelvey.dev/posts/rust_async_runtime
#rust #rustlang
  • ❤ 12
  • 👍 8
  • 🥰 5
  • 🤗 2
More from @rust_code
  1. Sep 24, 2026🦀 Как доказать, что Rust-код работает правильно: Amazon рассказывает о Verus Rust предотв…
  2. Sep 24, 2026❌В IT сейчас кризис джунов, но только не в кибербезе. ❗️Рынку не хватает 50 000 специалист…
  3. Sep 24, 2026Rust без аллокатора: `fff` снизил пиковое потребление памяти через `mmap` Во время тестиро…
  4. Sep 23, 2026photo post
  5. Sep 20, 2026Zero cost
  6. Sep 19, 2026🦀 NVIDIA официально идёт в native GPU programming на Rust Теперь CUDA Rust позволяет писа…
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 →