我正在尝试创建一个将由多个进程使用的共享内存。MPI
这些进程使用调用 ( MPI_Send
, )相互通信MPI_Recv
。
我需要一种机制来控制对这个共享内存的访问我昨天添加了一个问题,看看 MPI 是否提供了任何工具来做到这一点。MPI 创建的进程的共享内存访问控制机制,但 MPI 似乎没有这样的规定。
所以我必须选择named semaphore
或flock
。
对于命名信号量,如果任何进程在没有调用的情况下突然死亡sem_cloe()
,则该信号量始终存在并且可以被ll /dev/shm/
. 这有时会导致死锁(如果我再次运行相同的代码!),因此我目前正在考虑使用flock。
只是想确认一下flock
最适合这种类型的操作?
使用有什么缺点吗flock
吗?
named semaphore
除了和还有什么flock
可以用的吗?
我正在linux下研究C。