C++中std::thread 的用法
时间: 2023-10-21 22:24:58 浏览: 111
C++11 并发指南之std::thread 详解
在 C++ 中,std::thread 是用于创建和管理线程的类。它可以让我们在程序中并发执行多个任务。下面是 std::thread 的用法示例:
1. 引入头文件和命名空间:
```cpp
#include <thread>
using namespace std;
```
2. 创建线程:
```cpp
void myFunction() {
// 线程要执行的代码
}
int main() {
thread myThread(myFunction); // 创建一个线程,并将要执行的函数作为参数传递进去
// 其他主线程的代码
myThread.join(); // 等待线程执行完毕
return 0;
}
```
3. 传递参数给线程:
```cpp
void myFunction(int param1, string param2) {
// 使用传递进来的参数执行相应的操作
}
int main() {
int arg1 = 42;
string arg2 = "Hello";
thread myThread(myFunction, arg1, arg2); // 创建线程并传递参数
// 其他主线程的代码
myThread.join();
return 0;
}
```
4. 获取线程的标识符:
```cpp
int main() {
thread::id threadId = this_thread::get_id(); // 获取当前线程的标识符
cout << "Thread ID: " << threadId << endl;
return 0;
}
```
这只是 std::thread 的基本用法,你可以根据具体需求进行更多操作,比如控制线程的启动、暂停、终止等。同时,注意在使用线程时要避免潜在的资源竞争和线程安全问题。
阅读全文