メンバー | 説明 |
---|---|
thread() | get_id()==id() で実行のスレッドを表さないスレッドを生成します。 |
template<typename F> thread(F f) | f() を評価するスレッドを生成します。 |
template<typename F, typename X> thread(F f, X x) | f(x) を評価するスレッドを生成します。 |
template<typename F, typename X, typename Y> thread(F f, X x, Y y) | f(x,y) を評価するスレッドを生成します。 |
thread(thread&& x) | x の状態を持つ *this を構築して、x をデフォルトの生成状態に設定します。 |
thread& operator=(thread&& x) | joinable() の場合、detach() を呼び出します。次に、x の状態を *this に割り当て、x をデフォルトの生成状態に設定します。 |
thread& operator=(thread& x) | joinable() の場合、detach() を呼び出します。次に、x の状態を *this に割り当て、x をデフォルトの生成状態に設定します。 注意これは、C++11 の move 代入の制限付きエミュレーションです。C++11 以降には提供されません。 |
~thread | ( joinable() ) の場合、detach() を呼び出します。 |
void swap(thread& x) | 効果: *this と x をスワップします。 |
bool joinable() const | 戻り値: get_id()!=id() |
void join() | 要件: joinable()==true 効果: スレッドが完了するまで待機します。その後、joinable()==false にします。 |
void detach() | 要件: joinable()==true 効果: *this をデフォルトの生成状態にして、ブロックせずにリターンします。*this によって表されるスレッドは実行を継続します。 |
id get_id() const | 戻り値: スレッドの ID。*this がスレッドを表さない場合はデフォルトの生成 ID。 |
native_handle_type native_handle() | 戻り値: ネイティブスレッドのハンドル。Windows* オペレーティング・システムでは HANDLE、Linux* および macOS* オペレーティング・システムでは pthread_t。これらのシステムでは、joinable()==false の場合、native_handle() は 0 を返します。 |
static unsigned hardware_concurrency() | 戻り値: ハードウェア・スレッドの数。例えば、インテル® Core™ i7-6700K プロセッサー (4 コア、8 ハードウェア・スレッド) を搭載したシステムでは 8。 |