共享内存中进程间的障碍实现

我正在寻找一个进程间障碍实现。 进程在共享内存中(即在同一个ndoe上)。

进程是MPI进程。 我不想使用MPI_Barrier函数,因为所有MPI实现的一般策略都是主动等待。 只要他们等待,我希望我的进程保持睡眠状态。

限制:

  • 应该在C中,也许在C ++中
  • 没有自旋锁,所以它可以使用信号量
  • linux OS

我相信它存在数千个屏障实现,但我没有找到任何?!

谢谢

pthread_barrier是障碍的POSIX API。 如果相应地初始化它们,它们可能位于进程共享内存中。

你应该看看Boost。 我相信它有一个可以使用的进程间模块。