4

当我们创建子进程时,它是父进程的克隆

在父进程下已经使用了互斥锁...

可以将互斥锁复制到子进程吗?

如果是,这样做的缺点是什么?

4

1 回答 1

3

如果它是在进程内存中定义的,则当前值将被设置,但它不会被父进程更新,因为进程之间的内存不是共享的。

您可以在进程之间共享互斥锁,只要它在共享内存中分配并且两个进程都可以访问。 pthread_mutexattr_setpshared

您还可以使用命名进程信号量甚至是未命名进程信号量,以防您分叉,这将使您免于在进程之间分配共享内存,因为信号量是系统范围的并且以文件的形式保留在文件系统上。

于 2013-01-06T17:24:00.493 回答