我有兴趣使用 mach/semaphore.h
中的 semaphore_create(task, sem, policy, value)
创建一个信号量,在共享内存中同步两个 Mac OS 进程。
我知道在 Linux 上使用 sem_init(sem, pshared, value)
,其中 pshared
必须为非零值,但是我找不到关于 Mac 的信息(其中没有实现 sem_init
),而且我也不想使用命名信号量,因为我需要创建很多。
我在一个最小的示例上进行了实验,但似乎并不起作用,所以我想知道我是否做错了什么或者它根本行不通。我也愿意尝试其他进程间锁定的替代方案。