detach()和join();

假设我们有一个线程t,

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

当我们定义好线程的入口函数后(thread t(FUNC)),

接下来使用t.detach();来开始线程的话。这个线程t跟我们的主线程main就会并行执行,这两个线程就会互相争抢资源。并且当主线程执行完毕后,不会等待t线程执行结束,整个程序就会结束,资源就会被回收。

而当我们使用t.join();来开始线程的话,程序就会等待t这个线程执行完,才开始下一个线程(就是我们的主线程)。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄