linuxC++开启10个线程
时间: 2023-07-28 07:13:48 浏览: 54
下面是一个简单的示例代码,可以启动10个线程:
```c++
#include <iostream>
#include <thread>
void thread_function(int thread_id) {
std::cout << "Thread " << thread_id << " started" << std::endl;
// do some work here
std::cout << "Thread " << thread_id << " finished" << std::endl;
}
int main() {
std::thread threads[10];
for (int i = 0; i < 10; i++) {
threads[i] = std::thread(thread_function, i);
}
for (int i = 0; i < 10; i++) {
threads[i].join();
}
return 0;
}
```
在这个示例中,我们定义了一个名为`thread_function`的函数,它将被10个不同的线程调用。每个线程都传递一个不同的`thread_id`参数,以便我们可以区分每个线程的输出。
在`main`函数中,我们创建一个长度为10的线程数组,并使用循环来创建每个线程。每个线程都调用`thread_function`函数,并传递一个不同的`thread_id`参数。
最后,我们使用另一个循环来等待每个线程完成,并调用`join`函数。这确保了主线程等待所有子线程完成后再退出。
请注意,如果您的程序需要使用多线程,请确保正确地管理线程之间的竞争条件和同步。