Posix匿名信号量与fork

本文详细探讨了Linux Manual Page中关于sem_init的表述,指出在fork后,子进程与父进程虽然可以共享Posix匿名信号量,但实际上需要将其置于共享内存区域才能实现同步。通过编码测试验证了当信号量存储在父进程的进程空间时,父子进程无法同步操作。总结强调,要跨进程共享Posix匿名信号量,必须使用如mmap等共享内存方法。
摘要由CSDN通过智能技术生成

Linux Manual Page的表述

这是sem_init的man page,注意我下划的一句话。

NAME

sem_init - initialize an unnamed semaphore

SYNOPSIS

#include <semaphore.h>

int sem_init(sem_t *sem, int pshared, unsigned int value);

Link with -pthread.

DESCRIPTION

sem_init() initializes the unnamed semaphore at the address pointed to by sem. The value argument specifies the initial value for the semaphore.

The pshared argument indicates whether this semaphore is to be shared between the threads of a process, or between processes.

If pshared has the v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值