在linux上使用copy-on-write forking。在父级中创建pthread进程间互斥时,它是否会在子级中有效,或者只有在将其映射到共享内存时它才会起作用?
答案 0 :(得分:2)
调用fork()
时,整个内存空间都是重复的,包括互斥锁,所以为了回答你的问题,新的互斥锁将是父虚拟互斥锁的副本,所以你必须mmap
它。 / p>
注意:
您需要使用PTHREAD_PROCESS_SHARED
在互斥锁属性上设置pthread_mutexattr_getpshared()
标记。