文章作者:里海
简介:
线程加入join,主线程在线程join的位置等待,线程结束后再继续运行。
效果:
代码:
#include <iostream>
#include <thread>
#include <chrono>
void pause_thread(int n)
{
std::this_thread::sleep_for(std::chrono::seconds(n));
std::cout << "暂停 " << n << " 秒结束\n";
}
int main()
{
std::cout << "生成三个线程...\n";
std::thread t1(pause_thread, 1);
std::thread t2(pause_thread, 2);
std::thread t3(pause_thread, 3);
std::cout << "线程已经生成,等待加入...:\n";
t1.join();
t2.join();
t3.join();
//主线程等待三个线程结束后继续运行
std::cout << "所有线程加入!\n";
std::cin.get();
return 0;
}