写一个C++执行多线程函数的案例
时间: 2024-09-12 07:09:20 浏览: 50
在C++中,可以使用标准库中的`std::thread`类来创建并管理线程。下面是一个简单的例子,展示了如何在一个主函数中创建一个新的线程,并让这个线程执行一个自定义的函数:
```cpp
#include <iostream>
#include <thread>
// 定义一个要在新线程上执行的函数
void print_numbers(int n) {
for (int i = 0; i < n; ++i) {
std::cout << "Thread is printing: " << i << std::endl;
// 这里模拟耗时操作
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
int main() {
// 创建一个新的线程,传入print_numbers函数和参数5作为线程任务
std::thread worker_thread(print_numbers, 5);
// 主线程继续执行其他任务,这里我们打印一条消息
std::cout << "Main thread is doing something else..." << std::endl;
// 等待线程完成
worker_thread.join();
// 打印一个结尾信息,表示主线程已经结束
std::cout << "Main thread finished." << std::endl;
return 0;
}
```
在这个例子中,`print_numbers`函数被另一个独立的线程执行,而主程序主线程则继续做其他事情。当`worker_thread.join();`这行被执行时,主线程会等待`print_numbers`函数执行完毕。
阅读全文