Конкурентность в C++: Практическое руководство по многопоточному программированию
Освойте современные подходы к многопоточности, асинхронности и параллелизму в C++17/20
Краткое содержимое:
Книга «Конкурентность в C++: Практическое руководство по многопоточному программированию» — это исчерпывающее пособие для разработчиков, которые хотят освоить современные подходы к написанию многопоточных и асинхронных приложений на языке C++. Автор, Алексей Иванов, опытный системный инженер и преподаватель, последовательно раскрывает все ключевые аспекты конкурентного программирования, начиная с основ и заканчивая сложными паттернами синхронизации.
О чём эта книга?
Книга охватывает полный спектр тем, необходимых для эффективной работы с конкурентностью в C++:
- Основы многопоточности: создание и управление потоками с помощью
std::thread, передача аргументов, обработка исключений в потоках. - Синхронизация данных: мьютексы (
std::mutex,std::shared_mutex), блокировки (std::lock_guard,std::unique_lock), условные переменные (std::condition_variable). - Атомарные операции:
std::atomic, модели памяти C++ (memory ordering), lock-free программирование и предотвращение гонок данных. - Асинхронные задачи:
std::async,std::future,std::promise,std::packaged_task— написание асинхронного кода без явного управления потоками. - Параллельные алгоритмы: использование
std::execution::parдля распараллеливания стандартных алгоритмов (C++17). - Паттерны проектирования: thread pool, producer-consumer, reader-writer lock, барьеры и латчи (
std::barrier,std::latchв C++20). - Отладка и профилирование: инструменты для поиска deadlock’ов, data race и узких мест в многопоточном коде.
Для кого эта книга?
Книга предназначена для разработчиков C++ среднего и продвинутого уровня, которые уже знакомы с основами языка (указатели, шаблоны, STL) и хотят углубиться в темы конкурентности. Она будет полезна:
- Программистам высоконагруженных серверов и сетевых приложений.
- Разработчикам игр и графических движков, где критична производительность.
- Инженерам, работающим над системами реального времени или встраиваемыми системами.
- Всем, кто хочет писать безопасный и эффективный многопоточный код на C++.
Что узнает читатель?
После прочтения книги вы сможете:
- Уверенно использовать стандартную библиотеку потоков C++ (std::thread, мьютексы, futures).
- Понимать модель памяти C++ и правильно выбирать порядок атомарных операций.
- Избегать типичных ошибок: deadlock, livelock, гонки данных.
- Проектировать масштабируемые конкурентные системы с помощью современных паттернов.
- Применять параллельные алгоритмы для ускорения вычислений. <