C ++ライブラリ-<スレッド>

前書き

スレッドは、同じアドレス空間を共有しながら、マルチスレッド環境で他のそのようなシーケンスと同時に実行できる一連の命令です。

メンバータイプ

シニア番号 メンバーの種類と説明
1 id

スレッドIDです。

2 ネイティブハンドルタイプ

ネイティブハンドルタイプです。

メンバー関数

シニア番号 メンバーの機能と説明
1 (コンストラクタ)

スレッドを構築するために使用されます。

2 (デストラクタ)

スレッドをデストラクタするために使用されます。

3 演算子=

ムーブ代入スレッドです。

4 get_id

スレッドIDを取得するために使用されます。

5 参加可能

参加可能かどうかを確認するために使用されます。

6 参加する

スレッドを結合するために使用されます。

7 デタッチ

スレッドを切り離すために使用されます。

8 スワップ

スレッドを交換するために使用されます。

9 native_handle

ネイティブハンドルを取得するために使用されます。

10 hardware_concurrency [静的]

ハードウェアの同時実行性を検出するために使用されます。

非会員の過負荷

シニア番号 非会員の過負荷と説明
1 スワップ(スレッド)

スレッドを交換するために使用されます。

以下のstd :: threadの例では。

#include <iostream>
#include <thread>

void foo() {
   std::cout << " foo is executing concurrently...\n";
}

void bar(int x) {
   std::cout << " bar is executing concurrently...\n";
}

int main() {
   std::thread first (foo);
   std::thread second (bar,0);

   std::cout << "main, foo and bar now execute concurrently...\n";

   first.join();
   second.join();

   std::cout << "foo and bar completed.\n";

   return 0;
}

出力は次のようになります-

main, foo and bar now execute concurrently...
 bar is executing concurrently...
 foo is executing concurrently...
foo and bar completed.