std::thread.join()
时间: 2023-08-25 17:10:32 浏览: 101
`std::thread::join()` 是一个成员函数,用于等待线程的结束。当调用 `join()` 函数时,当前线程会被阻塞,直到被调用的线程执行完毕。
`join()` 函数没有返回值,它可以确保调用线程在被调用的线程完成之前不会继续执行。
以下是 `std::thread::join()` 的使用示例:
```cpp
#include <iostream>
#include <thread>
void ThreadFunc() {
std::cout << "Thread is running" << std::endl;
// 模拟耗时操作
std::this_thread::sleep_for(std::chrono::seconds(3));
std::cout << "Thread is finished" << std::endl;
}
int main() {
std::thread thread(ThreadFunc); // 创建线程
// 在这里可以执行其他操作
thread.join(); // 等待线程完成
std::cout << "Thread is joined" << std::endl;
return 0;
}
```
在上述代码中,`ThreadFunc` 是一个简单的线程函数,它会输出一些信息并进行一些模拟的耗时操作。在 `main()` 函数中,创建了一个新的线程 `thread`,然后通过调用 `thread.join()` 等待线程完成。一旦线程执行完毕,主线程会继续执行并输出 "Thread is joined"。
阅读全文