问题描述
我需要一种方法来知道我正在运行的线程是否完成。如果尚未完成,请等待,如果完成,请打印一条成功消息。
I need a way to know if the thread I am running is finished or not. If it is not finished it wait and if it is finished print a successful message.
我在库中的c ++ 11中找不到方法或类似的方法线。
我无法设置全局变量,因为在线程内部我正在使用 execvp
,如果成功,它不会返回。
I don't find a method or something like that in c++11 from library thread.I can't set a global variable because inside thread I am using execvp
and it does not return if successful.
有什么办法吗?方法或标志或其他任何东西。
Is there any way to do that? A method or flag or anything else.
编辑:
为了清楚起见,我想编写一个函数来检查如果线程完成。
To make it clear I want to write a function that checks if thread is finished.
推荐答案
您可以使用:
期货相对于使用普通线程的好处是:
The benefits of futures over using plain threads are:
- 未来会返回价值。
- 您可以等待超时。
当然,这可以通过普通线程来完成,但是为什么要用C ++ 11重新实现。
Surely, this can be done with plain threads, but why reimplement a wheel with C++11.
这篇关于检查线程是否在c ++ 11中完成?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!