Condition variables

A condition variable makes it possible for threads to wait until some specific condition has been met. Threads can also use the condition variable to signal to other threads that the condition has changed.

A common pattern in a concurrent program is to have one or many threads that are waiting for data to be consumed somehow. These threads are usually called consumers. Another group of threads are then responsible for producing data that is ready to be consumed. The group of threads that are producing data are called producers, or producer if it is only one thread.

The producer and consumer pattern can be implemented using a condition variable. We can use a combination of std::condition_variable and std::unique_lock for ...

Get C++ High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.