Thread support library

From Cppreference

< 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)
Functions managing the current thread
Defined in namespace this_thread
(C++11)
hints the implementation to reschedule execution of threads
(function)
(C++11)
returns the thread id of the current thread
(function)
(C++11)
stops the execution of the current thread for a specified time duration
(function)
(C++11)
stops the execution of the current thread until a specified time point
(function)

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

[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)
provides a condition varibale associated with any lock type
(class)
schedules a call to notify_all to be invoked when this thread exits
(function)
(C++11)
lists the possible results of timed waits on condition variables
(class)

[edit] Futures

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