我想使用 pthread_cond_broadcast() 唤醒所有等待相同条件的线程。
但是,这些线程似乎不能真正并行运行,因为它们必须共享相同的互斥体。
我说的对吗?或者有什么办法吗?
提前致谢。
最佳答案
每个线程在醒来时都必须获取锁,但如果紧随其后的工作可以并行进行,则只需在安全的最早时间点释放锁即可。
关于c++ - 使用 pthread_cond_broadcast 并行执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123321/