c ++多线程同步

arv*_*vin 7 c++ multithreading thread-synchronization

这是我的问题的简化版本.

在无限循环中有3个线程执行N个线程:

A -> B -> C -> A -> B -> C -> A -> B -> .......
Run Code Online (Sandbox Code Playgroud)

我希望所有线程同时执行指令B,即任何线程执行B只应在所有线程都已到达B时启动.因此,如果有一个线程执行了B - > C - > A,它应该在这里等待其他线程也准备好执行B.

如果可能的话,请告诉我一个可在Windows和MAC上运行的便携式解决方案.

Som*_*ude 4

您应该查看Boost 线程库,尤其是有关条件变量的部分。

  • 虽然这听起来更像是你想要一个[屏障](http://www.boost.org/doc/libs/1_47_0/doc/html/thread/synchronization.html#thread.synchronization.barriers) (7认同)