libstdc++
std::thread Class Reference

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 ()
 
threadoperator= (const thread &)=delete
 
threadoperator= (thread &&__t) noexcept
 
void swap (thread &__t) noexcept
 

Static Public Member Functions

static unsigned int hardware_concurrency () noexcept
 

Related Functions

(Note that these are not member functions.)

void swap (thread &__x, thread &__y) 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 Function Documentation

◆ native_handle()

native_handle_type std::thread::native_handle ( )
inline
Precondition
thread is joinable

Definition at line 212 of file std_thread.h.


The documentation for this class was generated from the following file: