Std标准库线程如何使用
时间: 2024-02-21 19:28:49 浏览: 72
使用 C++11 或更高版本的编译器,可以使用 `<thread>` 头文件中的类和函数来创建和管理线程。以下是一个简单的示例程序,展示如何创建和启动一个新的线程:
```cpp
#include <iostream>
#include <thread>
void threadFunction() {
std::cout << "Hello from thread!" << std::endl;
}
int main() {
// 创建一个新的线程并启动它
std::thread t(threadFunction);
// 等待线程结束
t.join();
return 0;
}
```
在上面的程序中,`threadFunction()` 函数被作为参数传递给 `std::thread` 构造函数,创建了一个新的线程 `t`。然后,`t.join()` 函数被调用,以等待线程 `t` 结束。在这个例子中,线程只是简单地输出一行文本,但是你可以在线程函数中执行任何你想要的操作。
除了创建和启动线程之外,`<thread>` 头文件还提供了其他函数和类来管理线程,例如:
- `std::this_thread::get_id()`:获取当前线程的 ID。
- `std::thread::detach()`:将线程分离,使其在后台运行。
- `std::thread::joinable()`:检查线程是否可以被加入(join)。
- `std::thread::hardware_concurrency()`:返回当前系统支持的并发线程数。
你可以查看 C++ 标准库文档,以获取更多关于 `<thread>` 头文件中可用函数和类的信息。
阅读全文