我有兴趣在共享内存中使用使用semaphore_create(task, sem, policy, value)
from创建的信号量mach/semaphore.h
来同步 Mac OS 中的两个进程。
我知道在 Linux 上使用sem_init(sem, pshared, value)
,pshared
在这种情况下必须为非零,但是我在 Mac 上找不到信息(sem_init
未实现的地方),而且我真的不想使用命名信号量,因为我需要创建很多其中。
我尝试了一个最小的示例,但它似乎不起作用,所以我想知道是我做错了什么还是它不起作用。我也对其他进程间锁定替代方案持开放态度。