0

如何让我的线程在运行之前先休眠?我知道如何让睡眠开始工作,但是,只要我的程序运行,线程就会立即运行。我希望它在首次创建开始运行后等待。(我正在使用处理程序)

4

2 回答 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 回答