如何延长当前线程的执行时间超过1秒?

时间:2011-08-26 12:33:19

标签: c++ linux multithreading

我必须延长当前线程的执行时间超过1秒。我可以在c ++中使用什么?

我可以使用delay()或其他内容吗?


[来自评论]:让我解释一下场景:我有一个主线程(LONG)启动另一个子线程(SHORT),所以我需要保持执行LONG线程,以便它在执行后结束短。 - Prajkata 4分钟前

2 个答案:

答案 0 :(得分:8)

如果你需要等待一个线程,那就去做吧。使用pthread_joinjoin()的{​​{1}}成员函数,或者用于启动线程的任何机制的相应等待函数。

答案 1 :(得分:4)

您不想等待1秒或任何时间长度。您无法预测其他线程将运行多长时间。

您要做的是等待其他线程完成。所有线程库都有进行此类同步的方法。在Windows中,您使用WaitForSingleObject,在pthreads中调用pthread_join,依此类推。

这些函数将阻止执行,直到另一个线程完成其工作,正是您需要的。