Boost C++ Libraries

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

PrevUpHomeNext

Chapter 39. Thread 4.8.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 http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Overview
Using and building the library
Configuration
Limitations
History
Future
Thread Management
Synopsis
Tutorial
Class thread
Namespace this_thread
Class thread_group EXTENSION
Scoped Threads
Motivation
Tutorial
Free Thread Functors
Class strict_scoped_thread
Class scoped_thread
Non-member function swap(scoped_thread&,scoped_thread&)
Synchronization
Tutorial
Mutex Concepts
Lock Options
Lock Guard
With Lock Guard
Lock Concepts
Lock Types
Other Lock Types - EXTENSION
Lock functions
Lock Factories - EXTENSION
Mutex Types
Condition Variables
One-time Initialization
Barriers -- EXTENSION
Latches -- EXPERIMENTAL
Executors and Schedulers -- EXPERIMENTAL
Futures
Thread Local Storage
Class thread_specific_ptr
Synchronized Data Structures
Synchronized Values - EXPERIMENTAL
Synchronized Queues -- EXPERIMENTAL
Parallel - Fork-Join -- EXPERIMENTAL
Fork-Join
Reference -- EXPERIMENTAL
Time Requirements
Deprecated
Emulations
=delete emulation
Move semantics
Bool explicit conversion
Scoped Enums
Acknowledgments
Conformance and Extension
C++11 standard Thread library
C++14 standard Thread library - accepted changes
C++14 TS Extensions for Concurrency V1
C++1z 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.


PrevUpHomeNext