如何让我的线程在运行之前先休眠?我知道如何让睡眠开始工作,但是,只要我的程序运行,线程就会立即运行。我希望它在首次创建开始运行后等待。(我正在使用处理程序)
问问题
110 次
2 回答
1
您无法控制何时安排线程。如果你想让它进入睡眠状态,让线程子例程中的第一条语句等待一个条件或类似的东西,当你准备好时,你可以广播到那个条件。在伪代码中:
get-lock
if (we-are-still-supposed-to-sleep)
pthread_cond_wait()
release-lock
我想您可以在创建孩子时让父母持有锁,然后他们所要做的就是:
get-lock
release-lock
并避免条件的事情。
于 2011-05-24T23:12:28.317 回答
0
什么操作系统?Windoze 允许您创建处于挂起状态的线程。当您在 ctor 中加载了线程字段后,您可以恢复线程。如果做不到这一点,请在线程启动参数中传递一些同步对象,让新线程等待。
Rgds,马丁。
于 2011-05-25T00:03:10.267 回答