Chapter 1. Hello, world of concurrency in C++!

This chapter covers

  • What is meant by concurrency and multithreading
  • Why you might want to use concurrency and multithreading in your applications
  • Some of the history of the support for concurrency in C++
  • What a simple multithreaded C++ program looks like

These are exciting times for C++ users. Thirteen years after the original C++ Standard was published in 1998, the C++ Standards Committee gave the language and its supporting library a major overhaul. The new C++ Standard (referred to as C++11 or C++0x) was published in 2011 and brought with it a swath of changes that made working with C++ easier and more productive. The Committee also committed to a new “train model” of releases, with a new C++ Standard to be published every three years. So far, we’ve had two of these publications: the C++14 Standard in 2014, and the C++17 Standard in 2017, as well as several Technical Specifications describing extensions to the C++ Standard.

1.1. What is concurrency?

1.2. Why use concurrency?

1.3. Concurrency and multithreading in C++

1.4. Getting started