#include<iostream>
#include<thread>
using namespace std;
void func1() {
    for(int i=0;i<10;i++)
    cout << "Hello !" << endl;
}
void func2() {
    for(int i=0;i<10;i++)
    cout << "Hello!" << endl;
}
int main() {
    thread t1(func1);
    thread t2(func2);
    t1.join();
    t2.join();
    return 0;
}
可以先看一下代码,理解join方式非常不错
程序执行流程

主线程启动 → 创建t1和t2线程
三个线程并发执行:

主线程(继续执行join)
t1线程(执行func1)
t2线程(执行func2)
输出结果特点:由于线程并发,输出顺序是不确定的
join() 的主要作用是:阻塞当前线程,直到被调用的线程(如t1,t2)执行完毕。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐