Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.

Chapter 31. Thread 4.2.0

Anthony Williams

Vicente J. Botet Escriba

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Table of Contents

Using and building the library
Thread Management
Class thread
Namespace this_thread
Class thread_group EXTENSION
Scoped Threads
Free Thread Functors
Class strict_scoped_thread
Class scoped_thread
Non-member function swap(scoped_thread&,scoped_thread&)
Mutex Concepts
Lock Options
Lock Guard
Lock Concepts
Lock Types
Other Lock Types - EXTENSION
Lock functions
Lock Factories - EXTENSION
Mutex Types
Condition Variables
One-time Initialization
Barriers -- EXTENSION
Thread Local Storage
Class thread_specific_ptr
Synchronized Data Structures
Synchronized Values - EXPERIMENTAL
Time Requirements
=delete emulation
Move semantics
Bool explicit conversion
Scoped Enums
Conformance and Extension
C++11 standard Thread library
C++14 standard Thread library - accepted changes
C++1y TS Concurrency - On going proposals

Boost.Thread enables the use of multiple threads of execution with shared data in portable C++ code. It provides classes and functions for managing the threads themselves, along with others for synchronizing data between the threads or providing separate copies of data specific to individual threads.

The Boost.Thread library was originally written and designed by William E. Kempf (version 1).

Anthony Williams version (version 2) was a major rewrite designed to closely follow the proposals presented to the C++ Standards Committee, in particular N2497, N2320, N2184, N2139, and N2094

Vicente J. Botet Escriba started (version 3) the adaptation to comply with the accepted Thread C++11 library (Make use of Boost.Chrono and Boost.Move) and the Shared Locking Howard Hinnant proposal except for the upward conversions. Some minor non-standard features have been added also as thread attributes, reverse_lock, shared_lock_guard.

In order to use the classes and functions described here, you can either include the specific headers specified by the descriptions of each class or function, or include the master thread library header:

#include <boost/thread.hpp>

which includes all the other headers in turn.

Last revised: October 28, 2013 at 23:54:47 GMT