Конкурентность в Rust: практическое руководство
Параллелизм, асинхронность и многопоточность без страха
Краткое содержимое:
Книга «Конкурентность в Rust» — это исчерпывающее руководство по одной из самых мощных и сложных тем в языке Rust. Автор, опытный системный программист Артём Соколов, шаг за шагом проведёт вас от базовых концепций до продвинутых техник параллельного программирования.
Rust с его системой владения и типами гарантирует безопасность памяти во время компиляции, и это делает конкурентность в нём уникальной. Вы узнаете, как писать код, который одновременно быстр, масштабируем и лишён гонок данных — ошибок, которые преследуют разработчиков на C++ и Java.
Что вы узнаете:
- Основы конкурентности: потоки (std::thread), замыкания, передача владения между потоками.
- Обмен данными: каналы (mpsc), мьютексы (Mutex, RwLock), атомарные типы (AtomicBool, AtomicUsize).
- Умные указатели для многопоточности: Arc, MutexGuard, RwLock и их правильное использование.
- Асинхронное программирование: async/await, футуры, стримы, executor (tokio, async-std).
- Продвинутые паттерны: пулы потоков, work-stealing, барьеры, семафоры, условные переменные.
- Безопасность и тестирование: обнаружение гонок данных с помощью loom, тестирование асинхронного кода.
Для кого эта книга:
- Разработчики на Rust, которые освоили основы и хотят писать высокопроизводительные параллельные приложения.
- Системные программисты, мигрирующие с C/C++ и желающие избавиться от головной боли с памятью.
- Backend-инженеры, работающие с сетевыми сервисами, базами данных или высоконагруженными системами.
- Все, кто интересуется современными подходами к конкурентности и хочет понять философию Rust.
Книга содержит множество практических примеров, от простых многопоточных калькуляторов до полноценных асинхронных веб-серверов. Каждая глава завершается упражнениями для закрепления материала. Вы научитесь не только писать код, но и отлаживать его — автор делится приёмами профилирования и поиска узких мест.
«Конкурентность в Rust» станет вашим надёжным помощником в освоении параллельного мира. Независимо от того, создаёте ли вы высоконагруженный API, обрабатываете потоки данных в реальном времени или просто хотите понять, как работает современная конкурентность — эта книга для вас.
Погрузитесь в Rust и откройте для себя парадигму, где скорость и безопасность идут рука об руку.