C++ Library - <thread>
介绍 (Introduction)
线程是一系列指令,可以在多线程环境中与其他此类序列同时执行,同时共享相同的地址空间。
成员类型 (Member types)
Sr.No. | 会员类型和说明 |
---|---|
1 | id 这是一个线程ID。 |
2 | Native handle type 它是一种原生句柄类型。 |
成员函数 (Member functions)
Sr.No. | 会员功能和说明 |
---|---|
1 | (constructor) 它用于构造线程。 |
2 | (destructor) 它用于析构函数线程。 |
3 | operator= 它是一个移动分配线程。 |
4 | get_id 它用于获取线程ID。 |
5 | joinable 它用于检查是否可连接。 |
6 | join 它用于连接线程。 |
7 | detach 它用于分离线程。 |
8 | swap 它用于交换线程。 |
9 | native_handle 它用于获取原生句柄。 |
10 | hardware_concurrency [静态] 它用于检测硬件并发性。 |
Non-member overloads
Sr.No. | 非成员超载和描述 |
---|---|
1 | swap (thread) 它用于交换线程。 |
例子 (Example)
在下面的示例中为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.