Ham*_*JML 1 c++ multithreading c++11
我需要一种方法来了解我正在运行的线程是否已完成.如果没有完成,则等待,如果完成则打印成功的消息.
我没有从库线程中找到c ++ 11中的方法或类似的东西.我无法设置全局变量,因为我使用的内部线程execvp如果成功则不会返回.
有没有办法做到这一点?方法或旗帜或其他任何东西.
Edit: 为了清楚起见,我想编写一个检查线程是否完成的函数.
你可以使用C++ 11期货和承诺:
Futures是一种在线程之间传递值的高级机制,允许线程等待结果可用而无需直接管理锁.
使用普通线程的期货的好处是:
当然,这可以通过普通线程完成,但为什么要用C++ 11重新实现轮子.