table of contents
std::thread(3) | C++ Standard Libary | std::thread(3) |
NAME¶
std::thread - std::thread
Synopsis¶
Defined in header <thread>
class thread; (since C++11)
The class thread represents a single thread of execution. Threads allow
multiple
functions to execute concurrently.
Threads begin execution immediately upon construction of the associated
thread
object (pending any OS scheduling delays), starting at the top-level function
provided as a constructor argument. The return value of the top-level
function is
ignored and if it terminates by throwing an exception, std::terminate is
called. The
top-level function may communicate its return value or an exception to the
caller
via std::promise or by modifying shared variables (which may require
synchronization, see std::mutex and std::atomic).
std::thread objects may also be in the state that does not represent any
thread
(after default construction, move from, detach, or join), and a thread of
execution
may not be associated with any thread objects (after detach).
No two std::thread objects may represent the same thread of execution;
std::thread
is not CopyConstructible or CopyAssignable, although it is MoveConstructible
and
MoveAssignable.
Member types¶
Member type Definition
native_handle_type (optional*) implementation-defined
Member classes¶
id represents the id of a thread
(public member class)
Member functions¶
constructor constructs new thread object
(public member function)
destructs the thread object, underlying thread must be joined
destructor or detached
(public member function)
operator= moves the thread object
(public member function)
Observers¶
checks whether the thread is joinable, i.e. potentially running
joinable in parallel context
(public member function)
get_id returns the id of the thread
(public member function)
native_handle returns the underlying implementation-defined thread handle
(public member function)
hardware_concurrency returns the number of concurrent threads supported by
the
[static] implementation
(public static member function)
Operations¶
join waits for the thread to finish its execution
(public member function)
permits the thread to execute independently from the thread
detach handle
(public member function)
swap swaps two thread objects
(public member function)
Non-member functions¶
std::swap(std::thread) specializes the std::swap algorithm
(C++11) (function)
See also¶
jthread std::thread with support for auto-joining and
cancellation
(C++20) (class)
2024.06.10 | http://cppreference.com |