std::thread Class Reference

## Classes

class | id

## Public Types

using | _State_ptr = unique_ptr< _State >
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

## 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 211 of file std_thread.h.

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

- std_thread.h