C++ 库 - <thread>



介绍

线程是在多线程环境中可以与其他类似序列并发执行的指令序列,同时共享同一个地址空间。

成员类型

序号 成员类型及描述
1 id

线程ID。

2 原生句柄类型

原生句柄类型。

成员函数

序号 成员函数及描述
1 (构造函数)

用于构造线程。

2 (析构函数)

用于析构线程。

3 operator=

移动赋值线程。

4 get_id

用于获取线程ID。

5 joinable

用于检查是否可连接。

6 join

用于连接线程。

7 detach

用于分离线程。

8 swap

用于交换线程。

9 native_handle

用于获取原生句柄。

10 hardware_concurrency [静态]

用于检测硬件并发性。

非成员重载

序号 非成员重载及描述
1 swap (thread)

用于交换线程。

示例

以下为 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.
广告