c++中thread join的用法是什么

c++
1674
2024/4/3 10:36:45
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,std::thread 类提供了 join() 方法,用于等待一个线程的执行完成。

当一个线程调用 join() 方法时,它会被阻塞直到被调用的线程执行完成。这样可以保证在主线程中,在子线程执行完毕之前不会结束主线程的执行。

示例代码如下:

#include <iostream>
#include <thread>

void threadFunction() {
    std::this_thread::sleep_for(std::chrono::seconds(1));
    std::cout << "Thread function executed" << std::endl;
}

int main() {
    std::thread t(threadFunction);
    
    // 主线程等待子线程执行完毕
    t.join();
    
    std::cout << "Main thread executed" << std::endl;
    
    return 0;
}

在上面的示例中,主线程创建了一个子线程并调用 join() 方法等待子线程执行完毕。只有当子线程执行完毕后,主线程才会继续执行。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C++模块在不同平台上的兼容性