我必须延长当前线程的执行时间超过1秒。我可以在c ++中使用什么?
我可以使用delay()
或其他内容吗?
[来自评论]:让我解释一下场景:我有一个主线程(LONG)启动另一个子线程(SHORT),所以我需要保持执行LONG线程,以便它在执行后结束短。 - Prajkata 4分钟前
答案 0 :(得分:8)
如果你需要等待一个线程,那就去做吧。使用pthread_join
或join()
的{{1}}成员函数,或者用于启动线程的任何机制的相应等待函数。
答案 1 :(得分:4)
您不想等待1秒或任何时间长度。您无法预测其他线程将运行多长时间。
您要做的是等待其他线程完成。所有线程库都有进行此类同步的方法。在Windows中,您使用WaitForSingleObject,在pthreads中调用pthread_join,依此类推。
这些函数将阻止执行,直到另一个线程完成其工作,正是您需要的。