Конкурентность в Rust: от основ до высоконагруженных систем
Практическое руководство по асинхронному и многопоточному программированию
Краткое содержимое:
Книга «Конкурентность в Rust» — это исчерпывающее руководство по написанию безопасного, эффективного и масштабируемого параллельного кода на языке Rust. В отличие от многих других языков, где конкурентность часто приводит к трудноуловимым багам и гонкам данных, Rust предлагает уникальную систему владения и типов, которая гарантирует безопасность на этапе компиляции. Эта книга покажет вам, как использовать эти возможности на полную мощность.
О чём эта книга?
Книга охватывает все ключевые аспекты конкурентного программирования в Rust:
- Основы потоков: создание, управление и синхронизация потоков с помощью
std::thread. - Общие данные и синхронизация: работа с
Mutex,RwLock,ArcиAtomicтипами для безопасного разделения состояния между потоками. - Каналы и передача сообщений: использование
std::sync::mpscиcrossbeamдля организации обмена данными между потоками без разделения памяти. - Асинхронное программирование: глубокое погружение в модель
async/await, фьючерсы и исполнители (executors). - Популярные библиотеки: практические примеры работы с
Tokio,async-stdиRayonдля построения высокопроизводительных приложений. - Продвинутые темы: создание собственных асинхронных драйверов, работа с
PinиUnpin, а также паттерны отказоустойчивости.
Для кого эта книга?
Книга предназначена для:
- Разработчиков, уже знакомых с основами Rust, которые хотят перейти к написанию многопоточных и асинхронных приложений.
- Программистов на других языках (C++, Go, Python), желающих освоить безопасную модель конкурентности в Rust.
- Инженеров, работающих над высоконагруженными системами, веб-серверами, сетевыми приложениями или инструментами для обработки данных в реальном времени.
Что вы узнаете?
Прочитав эту книгу, вы сможете:
- Понимать разницу между потоками и асинхронными задачами и выбирать правильный инструмент для каждой задачи.
- Писать код, свободный от гонок данных и взаимных блокировок, используя гарантии компилятора Rust.
- Эффективно использовать
async/awaitдля создания тысяч одновременных соединений без значительных накладных расходов. - Проектировать архитектуры на основе акторов, каналов и потоковых пулов.
- Профилировать и оптимизировать конкурентные приложения для достижения максимальной производительности.
Каждая глава содержит практические примеры кода, которые можно сразу запустить и модифицировать. Книга написана живым языком и ориентирована на реальные задачи, с которыми сталкиваются разработчики. После её прочтения вы будете уверенно чувствовать себя в мире конкурентного программирования на Rust и сможете строить надёжные, быстрые и безопасные системы.
Рекомендаций
Математические алгоритмы для программистов. 3D-графика, машинное обучение и моделирование на Python
GraphQL на Swift: Создаём современные API для iOS и macOS
Профессиональный PHP: продвинутые техники
Веб-разработка на Kotlin: от основ до деплоя
Изоморфный Go
Kotlin для Android: руководство для начинающих