Concurrency in C++: Multithreading, Asynchrony, and Parallelism
300 pages
English
PDF
4.5

Concurrency in C++: Multithreading, Asynchrony, and Parallelism

Concurrency in C++: Multithreading, Asynchrony, and Parallelism

Author:

Year:

Summary:

Modern programs increasingly require efficient use of multi-core processors. The book "Concurrency in C++" is a practical guide that will help you master all aspects of parallel and asynchronous programming in C++. Whether you are writing a high-load server, a game engine, or simply want to speed up data processing, this book will be your reliable companion.



What is this book about?

The book covers a full range of topics related to concurrency in C++:

  • Basics of Multithreading: creating and managing threads with std::thread, synchronization via mutexes, condition variables, and locks.
  • Asynchronous Programming: working with std::async, std::future, and std::promise, as well as callback patterns and coroutines (C++20).
  • Atomic Operations and Lock-Free Structures: using std::atomic, C++ memory models, and writing lock-free algorithms.
  • Advanced Techniques: thread pools, parallel algorithms from STL (std::execution), working with shared data, and avoiding deadlocks.
  • Testing and Debugging: tools for finding data races, profiling multithreaded code, and writing deterministic tests.


Who is this book for?

The book is intended for intermediate and advanced C++ developers who are already familiar with the basics of the language and want to delve deeper into concurrency. It will be useful for:

  • Developers of server applications and high-load systems.
  • Specialists in game engineering and real-time data processing.
  • Engineers working with financial systems, robotics, or embedded systems.
  • Anyone who wants to write fast and safe multithreaded code.


What will you learn?

After reading the book, you will be able to:

  • Properly design the architecture of multithreaded applications.
  • Avoid common mistakes: data races, deadlocks, and performance issues.
  • Use modern C++11/14/17/20 features for concurrent programming.
  • Choose between threads, tasks, and coroutines depending on the task.
  • Optimize performance using profiling and lock-free algorithms.


Each chapter contains practical code examples that can be immediately applied in real projects. The book is written in a lively style, with an emphasis on practice and best global practices. Discover the world of concurrent C++ — and your programs will become faster, more reliable, and more scalable!

Recommendations