liveBook · Manning

C++ multithreading library

As explained in C++ Concurrency in Action, Second Edition

The C++ standard library facilities for creating and managing threads and coordinating concurrent execution.

The C++ standard library provides facilities for managing threads, protecting shared data, synchronizing operations between threads, and performing low-level atomic operations. These facilities were added with C++11 and are supported by a thread-aware memory model. section 1.3.2

The library draws on prior experience, especially Boost.Thread, whose classes often share names and structure with the standard facilities. Its design aims for low abstraction costs while also providing higher-level tools that can make multithreaded code easier to write and less error-prone. Standard atomic operations offer portable, maintainable alternatives to platform-specific assembly in many cases. section 1.3.2 section 1.3.4

How C++ Concurrency in Action, Second Edition covers it

How deep it goes
Surveys facility groups and design goals without detailing individual APIs or synchronization guarantees.
What you can do after
Evaluate abstraction costs and recognize portable standard atomic operations as an alternative to platform-specific assembly.
How it connects
Connects thread management with the C++ memory model, shared-data protection, synchronization, atomic operations, and Boost.Thread.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of C++ Concurrency in Action, Second Edition. The section links point to the parts of the book it draws on.