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

时间:2010-12-16 14:46:40

标签: c++ c synchronization semaphore barrier

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

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

限制:

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

我确信它存在成千上万的屏障实现,但我找不到任何?!

由于

2 个答案:

答案 0 :(得分:3)

pthread_barrier是障碍的POSIX API。如果您相应地initialize,他们可能会在进程共享内存中生存。

答案 1 :(得分:1)

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