请用c++完成多线程编程实验
时间: 2023-10-10 11:07:47 浏览: 40
好的,以下是一个简单的多线程编程实验示例,使用C++的线程库:
```c++
#include <iostream>
#include <thread>
#include <chrono>
void worker(int id) {
std::cout << "Worker " << id << " started working" << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(3));
std::cout << "Worker " << id << " finished working" << std::endl;
}
int main() {
const int num_workers = 4;
std::thread workers[num_workers];
for (int i = 0; i < num_workers; i++) {
workers[i] = std::thread(worker, i);
}
std::cout << "Main thread waiting for workers to finish" << std::endl;
for (int i = 0; i < num_workers; i++) {
workers[i].join();
}
std::cout << "All workers finished" << std::endl;
return 0;
}
```
在这个示例中,我们创建了4个工作线程,并在每个工作线程中执行一个简单的任务:等待3秒钟,然后打印一条消息。主线程等待所有工作线程完成后,打印一条消息表示所有工作已经完成。