thread クラスのメンバー

次の表は、このテンプレート・クラスのメンバーの詳細な情報を提供します。
メンバー 説明
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* および OS X* オペレーティング・システムでは pthread_t。これらのシステムでは、joinable()==false の場合、native_handle() は 0 を返します。

static unsigned hardware_concurrency()

戻り値: ハードウェア・スレッドの数。例えば、1 つのインテル® Core™2 Quad プロセッサーを搭載したシステムでは 4。