Linux共享内存同步

waf*_*man 8 c linux performance posix shared-memory

我已经实现了两个使用POSIX共享内存API共享数据的应用程序(即shm_open).一个进程更新存储在共享内存段中的数据,另一个进程读取它.我想使用某种互斥或信号量来同步对共享内存区域的访问.这样做最有效的方法是什么?我正在考虑的一些机制是

  • 存储在共享内存段中的POSIX互斥锁(需要设置PTHREAD_PROCESS_SHARED属性)
  • 使用创建System V信号量 semget

Jas*_*son 4

我会使用名为 POSIX 的信号量,而不是 System V 信号量sem_open(),等等。