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