linuxC++开启10个线程,并传递一个参数
时间: 2023-12-14 13:40:01 浏览: 65
linux线程四个常用函数源码例子
可以使用C++11的线程库来开启多个线程并传递参数。以下是一个简单的示例:
```cpp
#include <iostream>
#include <thread>
#include <vector>
void threadFunction(int threadId) {
std::cout << "Thread " << threadId << " started." << std::endl;
}
int main() {
std::vector<std::thread> threads;
// 创建10个线程并传递参数
for (int i = 0; i < 10; ++i) {
threads.push_back(std::thread(threadFunction, i));
}
// 等待所有线程执行完毕
for (auto& thread : threads) {
thread.join();
}
return 0;
}
```
在上面的代码中,我们使用 `std::vector` 来存储线程对象,并使用 `std::thread` 构造函数创建线程。构造函数的第一个参数是线程函数的指针,第二个参数是要传递给线程函数的参数。我们使用循环来创建10个线程,并将它们存储在 `threads` 向量中。然后我们使用另一个循环来等待所有线程执行完毕,并使用 `join()` 函数来等待线程结束。
阅读全文