如何连接线程,如果可连接,不做其他事情

how to join thread if joinable do nothing otherwise?

本文关键字:可连接 其他 如果 连接 线程 何连接      更新时间:2023-10-16

我使用boost::thread join方法等待线程完成。但是,如果我尝试join线程时,它已经完成,我收到一个异常。那么我怎么能:

加入线程,如果活动和不做什么,如果不活动?

使用joinable()函数检查是否需要连接:

if (thread.joinable()) thread.join();

你可以(事实上,你必须)加入一个线程,即使它已经完成,除非它被分离。连接两次,或者连接一个空线程或分离的线程是错误的。