1.在声明一个std::thread 对象之后,都可以使用detach和join函数来启动被调线程,区别在于二者是否阻塞主调线程
(1)当使用Join()函数时,主调线程阻塞,等待被调线程终止,然后主调线程回收被调线程资源,并继续运行;
(2)当使用detach()函数时,主调线程继续运行,被调线程驻留后台运行,主调线程无法再取得该被调线程的控制权,当主调线程结束时,由运行时库负责清理与被调线程相关的资源。
(1)当使用Join()函数时,主调线程阻塞,等待被调线程终止,然后主调线程回收被调线程资源,并继续运行;
(2)当使用detach()函数时,主调线程继续运行,被调线程驻留后台运行,主调线程无法再取得该被调线程的控制权,当主调线程结束时,由运行时库负责清理与被调线程相关的资源。
本文标题:thread join()和detach()
本文链接:https://www.haomeiwen.com/subject/xtcmdqtx.html
网友评论