C++ Thread 库 - Function join
描述
它在线程执行完成时返回。
声明
以下是 std::thread::join 函数的声明。
void join();
C++11
void join();
参数
none
返回值
none
异常
No-throw guarantee − 从不抛出异常。
数据竞争
对象被访问。
示例
在下面的 std::thread::join 示例中。
#include <iostream> #include <thread> #include <chrono> void foo() { std::this_thread::sleep_for(std::chrono::seconds(1)); } void bar() { std::this_thread::sleep_for(std::chrono::seconds(1)); } int main() { std::cout << "starting helper...\n"; std::thread helper1(foo); std::cout << "starting another helper...\n"; std::thread helper2(bar); std::cout << "waiting for helpers to finish..." << std::endl; helper1.join(); helper2.join(); std::cout << "done!\n"; }
输出应该是这样的 −
starting helper... starting another helper... waiting for helpers to finish... done!