Конкурентность в Rust: Осваиваем асинхронное программирование и многопоточность — Алексей Воронов — обложка книги
300 страниц
Rust
PDF
4.5

Конкурентность в Rust: Осваиваем асинхронное программирование и многопоточность

От основ до production: потоки, async/await, Tokio и безопасная работа с памятью

Автор:

Год:

Краткое содержимое:

Книга «Конкурентность в Rust» — это исчерпывающее руководство по одному из самых мощных аспектов языка Rust: написанию безопасного, эффективного и масштабируемого параллельного кода. В отличие от многих других языков, где конкурентность часто ведёт к трудноуловимым багам (гонкам данных, взаимным блокировкам), Rust предлагает уникальный подход, основанный на системе владения и заимствования, которая гарантирует безопасность на этапе компиляции.

Эта книга не просто знакомит с синтаксисом — она учит думать по-другому. Вы узнаете, как модель владения Rust делает конкурентные ошибки невозможными, и как использовать это преимущество для создания надёжных серверов, высокопроизводительных сетевых служб и инструментов обработки данных.

Для кого эта книга?

  • Опытные разработчики на Rust, которые хотят перейти от однопоточных приложений к многопоточным и асинхронным системам.
  • Backend-инженеры, работающие с сетевыми протоколами, веб-серверами и распределёнными системами.
  • Системные программисты, интересующиеся низкоуровневой конкурентностью и оптимизацией.
  • Те, кто пришёл из Go, Java или C++ и хочет понять, как Rust решает проблемы параллелизма по-своему.

Что вы узнаете?

  • Основы потоков (threads): как создавать, синхронизировать и завершать потоки, использовать Mutex, RwLock и каналы (channels) для обмена данными.
  • Модель владения и Send/Sync: как типы Send и Sync работают на практике, и почему компилятор Rust — ваш лучший друг в борьбе с гонками данных.
  • Асинхронное программирование: глубокое погружение в async/await, Future и Stream. Вы поймёте, как работает исполнитель (executor) и реактор (reactor).
  • Экосистема Tokio: полное руководство по самому популярному асинхронному рантайму — от простых задач до сложных сетевых приложений с тайм-аутами и балансировкой.
  • Продвинутые паттерны: пулы потоков, actor-модель, lock-free структуры данных и использование Arc для совместного владения.
  • Профилирование и отладка: как находить и исправлять проблемы производительности и тупиковые блокировки в реальных проектах.

Каждая глава содержит практические примеры кода, которые можно сразу запустить и модифицировать. Вы начнёте с простых параллельных циклов и закончите созданием полноценного асинхронного TCP-сервера с пулом соединений.

Книга предполагает уверенное знание базового синтаксиса Rust (владение, замыкания, трейты). Если вы только начинаете изучать Rust — сначала познакомьтесь с основами по книге «Язык программирования Rust».

«Конкурентность в Rust» — это не справочник, а практическое руководство, которое поможет вам писать код, работающий быстро, безопасно и предсказуемо в условиях многозадачности.

Рекомендаций