std::thread - Man Page

Synopsis

#include <thread>

Classes

class id

Public Types

using native_handle_type = __gthread_t

Public Member Functions

template<typename _Callable , typename... _Args, typename  = _Require<__not_same<_Callable>>> thread (_Callable &&__f, _Args &&... __args)
thread (const thread &)=delete
thread (thread &&__t) noexcept
void detach ()
id get_id () const noexcept
void join ()
bool joinable () const noexcept
native_handle_type native_handle ()
thread & operator= (const thread &)=delete
thread & operator= (thread &&__t) noexcept
void swap (thread &__t) noexcept

Static Public Member Functions

static unsigned int hardware_concurrency () noexcept

Detailed Description

A std::thread represents a new thread of execution.

The default constructor creates an object that does not own a thread. The thread(F&&, Args&&...) constructor invokes a callable in a new thread, and owns that new thread. A std::thread that owns a thread is joinable. Joining a thread waits for it to finish executing, which happens when the callable running in that thread returns.

A std::thread cannot be copied, but can be moved. Moving a joinable object transfers ownership of its thread to another object.

A joinable std::thread must be explicitly joined (or detached) before it is destroyed or assigned to. Attempting to destroy a joinable thread will terminate the whole process.

Since

C++11

Definition at line 78 of file std_thread.h.

Member Typedef Documentation

using std::thread::native_handle_type =  __gthread_t

Definition at line 82 of file std_thread.h.

Constructor & Destructor Documentation

template<typename _Callable , typename... _Args, typename  = _Require<__not_same<_Callable>>> std::thread::thread (_Callable && __f, _Args &&... __args) [inline], [explicit]

Definition at line 138 of file std_thread.h.

std::thread::~thread () [inline]

Definition at line 160 of file std_thread.h.

std::thread::thread (thread && __t) [inline], [noexcept]

Definition at line 168 of file std_thread.h.

Member Function Documentation

id std::thread::get_id () const [inline], [noexcept]

Definition at line 196 of file std_thread.h.

bool std::thread::joinable () const [inline], [noexcept]

Definition at line 186 of file std_thread.h.

native_handle_type std::thread::native_handle () [inline]

Precondition

thread is joinable

Definition at line 202 of file std_thread.h.

thread & std::thread::operator= (thread && __t) [inline], [noexcept]

Definition at line 173 of file std_thread.h.

void std::thread::swap (thread & __t) [inline], [noexcept]

Definition at line 182 of file std_thread.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Info

Thu Jan 19 2023 libstdc++