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

Конкурентность в 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 и сможете строить надёжные, быстрые и безопасные системы.

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