Конкурентность в C++: Практическое руководство по многопоточному программированию — Алексей Иванов — обложка книги
300 страниц
C++
PDF
4.5

Конкурентность в 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, гонки данных.
  • Проектировать масштабируемые конкурентные системы с помощью современных паттернов.
  • Применять параллельные алгоритмы для ускорения вычислений.
  • <

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