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

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Chapter 28. Thread 3.0.1

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
Mutex Concepts
Lock Types
Other Lock Types
Lock functions
Mutex Types
Condition Variables
One-time Initialization
Thread Local Storage
Class thread_specific_ptr
Time Requirements
=delete emulation
Move semantics
Bool explicit conversion
Scoped Enums
Conformance and Extension
C++11 standard Thread library
Shared Locking extensions

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 0). Anthony Williams version (version 1) 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 in version 2 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 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: August 15, 2012 at 23:44:53 GMT