特别是pthread的互斥锁,条件变量,信号量等。它们是否可以通过共享内存段共享并保证按预期运行?我的想法是肯定的,因为Linux中的进程和线程之间没有真正的区别,但我想确定。
答案 0 :(得分:1)
答案结果是肯定的。 POSIX不要求通过共享内存使用互斥锁是安全的,但它适用于Linux。为了安全起见,在创建锁定或条件变量时,必须通过pthread_mutexattr_setpshared函数设置PTHREAD_PROCESS_SHARED
属性。这明确表明您希望任何线程都能够处理锁,即使是通过共享内存。