使用pthread_cond_broadcast进行并行执行?

时间:2013-06-15 11:48:30

标签: c++ multithreading synchronization posix

我想使用pthread_cond_broadcast()来唤醒等待相同条件的所有线程。

然而,看起来这些线程并不能真正并行运行,因为它们必须共享相同的互斥锁。

我是对的吗?或者有办法这样做?

提前致谢。

1 个答案:

答案 0 :(得分:2)

每个线程必须在唤醒时获取锁定,但如果紧随其后的工作可以并行进行,则只需在最安全的时间点释放锁定。