The Wayback Machine - https://web.archive.org/web/20120525050425/http://en.cppreference.com/w/cpp/thread

Thread support library

From cppreference.com
< cpp
Jump to: navigation, search

Contents

[edit] Threads

Threads enable the program to execute across several processor cores.

Defined in header <thread>
(C++11)
manages a separate thread
(class) [edit]
Functions managing the current thread
Defined in namespace this_thread
(C++11)
hints the implementation to reschedule execution of threads
(function) [edit]
(C++11)
returns the thread id of the current thread
(function) [edit]
(C++11)
stops the execution of the current thread for a specified time duration
(function) [edit]
stops the execution of the current thread until a specified time point
(function) [edit]

[edit] Mutual exclusion

Mutual exclusion algorithms restrict access to a shared resource so that only one thread can access it at a time. This allows to avoid data races and to implement synchronization between threads.

Defined in header <mutex>
(C++11)
provides basic mutual exclusion facility
(class) [edit]
provides mutual exclusion facility which implements locking with a timeout
(class) [edit]
provides mutual exclusion facility which can be locked recursively by the same thread
(class) [edit]
provides mutual exclusion facility which can be locked recursively
by the same thread and implements locking with a timeout
(class) [edit]
Generic mutex management
implements strictly scope-based mutex ownership wrapper
(class template) [edit]
implements movable mutex ownership wrapper
(class template) [edit]
tag type used to specify locking strategy
(class) [edit]
tag constants used to specify locking strategy
(constant) [edit]
Generic locking algorithms
(C++11)
locks specified mutexes/locks, returns false if at least one is unavailable
(function template) [edit]
(C++11)
locks specified mutexes/locks, blocks if at least one is unavailable
(function template) [edit]
Call once
(C++11)
helper object to ensure that call_once invokes the function only once
(class) [edit]
(C++11)
invokes a function only once even if called from multiple threads
(function template) [edit]

[edit] Condition variables

A condition variable is a synchronization primitive which implements a list of threads that are waiting until another thread notifies one or all of the waiting threads that they may proceed, until a timeout expires, or until a spurious wakeup occurs. A condition variable is always associated with a mutex.

provides a condition variable assocaited with std::unique_lock
(class) [edit]
provides a condition variable associated with any lock type
(class) [edit]
schedules a call to notify_all to be invoked when this thread exits
(function) [edit]
(C++11)
lists the possible results of timed waits on condition variables
(enum) [edit]

[edit] Futures

Defined in header <future>
(C++11)
stores a value for asynchronous retrieval
(class template) [edit]
packages a function to store its return value for asynchronous retrieval
(class template) [edit]
(C++11)
waits for a value that is set asynchronously
(class template) [edit]
waits for a value that is set asynchronously. The internal state is shared among several objects
(class template) [edit]
(C++11)
provides a facility to launch a function in a new thread and acquire its return value asynchronously
(function template) [edit]
(C++11)
specifies the launch policy for std::async
(enum) [edit]

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox