0

我想实现一个条件,如如下图.

我想让线程 1 等到线程 2 完成某些工作,并且在线程 2 完成工作后,线程 1 应该被唤醒。我会使用 QThread 的 QWaitcondition 还是简单的 sleep() 方法?如果 QWaitcondition 那么我应该如何构建我的等待条件......欢迎任何建议......

4

1 回答 1

0

最简单的方法是让你的 Thread1 Job1 函数从一个信号中调用,并让这个函数发出一个信号来启动 Job2。当 Job2 完成时,它会发出一个信号,然后再次启动 Job1。您的图表本质上就是您想要做的,但只需将接收到的信号更改为连接到工作的信号。

除非您需要在 job2 完成后立即启动 Job1 的极端时间要求,否则您不会想要执行任何类型的条件“等待”。这要么会吸收核心,要么效率非常低。

于 2013-01-10T12:45:39.337 回答