c++创建带参的线程
时间: 2023-08-05 07:23:28 浏览: 42
在C++中,可以通过使用std::thread来创建带参数的线程。具体实现步骤如下:
1. 定义一个函数,用来作为线程函数。
2. 在主函数中,创建一个std::thread对象,并将要执行的函数及其参数传递进去。
以下是一个例子,演示如何创建带参数的线程:
```c++
#include <iostream>
#include <thread>
void myThreadFunction(int a, int b)
{
std::cout << "Sum of " << a << " and " << b << " is " << a + b << std::endl;
}
int main()
{
std::thread myThread(myThreadFunction, 2, 3);
myThread.join();
return 0;
}
```
在上面的代码中,我们定义了一个函数myThreadFunction(),它接受两个int类型的参数a和b,将它们相加并输出结果。
在主函数中,我们创建了一个std::thread对象myThread,并将myThreadFunction()函数及其需要的参数2和3传递进去。这样,线程就会在执行时调用myThreadFunction(2, 3)函数。
需要注意的是,创建带参数的线程时,要确保传递的参数类型与线程函数的参数类型相匹配。如果需要传递多个参数,可以使用std::make_tuple()函数将它们打包成一个元组,然后将该元组作为参数传递给线程函数。在线程函数中,可以使用std::get()函数获取元组中的单个参数。