C++ 标准库 - <thread>

创建于 2024-12-03 / 50
字体: [默认] [大] [更大]

简介

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

成员类型

序号 成员类型 & 说明
1 id

它是一个线程 ID。

2 Native handle type

它是本机句柄类型。

成员函数

序号 成员函数 & 说明
1 (constructor)

它用于构造线程。

2 (destructor)

它用于析构线程。

3 operator=

它是一个移动分配线程。

4 get_id

它用于获取线程ID。

5 joinable

它用于检查是否可连接。

6 join

它用于连接线程。

7 detach

它用于分离线程。

8 swap

它用于交换线程。

9 native_handle

它用于获取本机句柄。

10 hardware_concurrency [static]

它用于检测硬件并发性。

非成员重载

序号 非成员重载 & 说明
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.


0 人点赞过