std::thread创建带参数线程
时间: 2024-10-30 21:06:26 浏览: 17
C++11 并发指南之std::thread 详解
在C++中,`std::thread`是用于创建线程的一个标准库类。如果你想创建一个带参数的线程,你可以通过构造函数传入一个成员函数以及所需的参数。这个成员函数将在新的线程上下文中运行。以下是一个例子:
```cpp
#include <iostream>
#include <thread>
// 定义一个函数,它将接受传递给线程的参数
void my_function(int param) {
std::cout << "Thread running with parameter: " << param << std::endl;
// 这里可以进行你的线程任务
}
int main() {
int value = 5; // 要传递给线程的参数
// 创建一个新的线程,传入my_function函数和参数value
std::thread thread_instance(my_function, value);
// 线程开始执行
thread_instance.start();
// 主线程继续执行其他任务,无需等待线程完成
// 等待是为了演示,实际项目中可根据需求调整
std::this_thread::sleep_for(std::chrono::seconds(2));
return 0;
}
```
在这个例子中,`my_function`是线程的目标函数,`value`是作为参数传递的。线程实例`thread_instance`在启动后会立即开始执行`my_function`。
阅读全文