C++调用线程,等待线程结束
时间: 2023-08-04 11:05:47 浏览: 89
C++多线程编程指南
4星 · 用户满意度95%
在 C++ 中,可以使用 `std::thread` 类来创建新线程。要等待线程结束,可以使用 `join` 方法。以下是一个简单的示例:
```c++
#include <iostream>
#include <thread>
void myThread() {
std::cout << "Thread started\n";
// 模拟一些工作
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
std::cout << "Thread finished\n";
}
int main() {
std::thread t(myThread); // 创建新线程
std::cout << "Main thread\n";
t.join(); // 等待新线程结束
std::cout << "Main thread finished\n";
return 0;
}
```
在上面的示例中,`myThread` 函数会在新线程中运行。`std::this_thread::sleep_for` 函数用于模拟一些工作。`t.join()` 会等待新线程结束。输出将如下所示:
```
Main thread
Thread started
Thread finished
Main thread finished
```
注意,如果不等待新线程结束而直接结束主线程,会导致新线程被强制终止,可能会导致一些问题。因此,在使用线程时应该确保在所有线程结束之前,主线程不会结束。
阅读全文