通过共享内存在进程之间共享同步原语是否安全?

时间:2016-03-25 15:51:54

标签: linux

特别是pthread的互斥锁,条件变量,信号量等。它们是否可以通过共享内存段共享并保证按预期运行?我的想法是肯定的,因为Linux中的进程和线程之间没有真正的区别,但我想确定。

1 个答案:

答案 0 :(得分:1)

答案结果是肯定的。 POSIX不要求通过共享内存使用互斥锁是安全的,但它适用于Linux。为了安全起见,在创建锁定或条件变量时,必须通过pthread_mutexattr_setpshared函数设置PTHREAD_PROCESS_SHARED属性。这明确表明您希望任何线程都能够处理锁,即使是通过共享内存。