【发布时间】:2013-07-20 22:56:17
【问题描述】:
进程中有一个控制线程和一组工作线程。工作模式是这样的:
(1)所有工作线程和控制线程都在运行;
(2) 当控制线程检查某些条件变化时,它会挂起所有工作线程;
(3)检查所有工作线程都挂起后,控制线程修改内存中的一些内容;
(4) 修改后,控制线程恢复所有工作线程。
我的问题是:
(1)在第2步和第4步中,如何控制线程挂起和恢复所有工作线程?我考虑使用 pthread_cond_wait 和 pthread_cond_signal,但它似乎只适用于控制线程和工作线程。
(2)在第3步中,如何控制线程检查所有工作线程是否被挂起?我考虑用计数器,有什么好的方法吗?
【问题讨论】:
-
我可以看到一个点列表,但没有真正的问题。你想要什么,你已经尝试过什么?但我的建议是查找消息队列或/和 pthread_cond_signal
-
@hetepeperfan:感谢您的回复!我真正想要的是如何实现:一个控制线程挂起和恢复一组工作线程。您的建议:查找消息队列或/和 pthread_cond_signal。能详细解释一下吗?