【发布时间】:2012-06-22 22:22:49
【问题描述】:
我有兴趣在共享内存中使用由 semaphore_create(task, sem, policy, value) 创建的信号量来同步 Mac OS 中的两个进程。
我知道在使用 sem_init(sem, pshared, value) 的 Linux 上,pshared 在这种情况下必须非零,但是我在 Mac 上找不到信息(未实现 sem_init),我真的不想要使用命名信号量,因为我需要创建很多。
我尝试了一个最小的示例,但它似乎不起作用,所以我想知道是我做错了什么还是它不起作用。我也对其他进程间锁替代方案持开放态度。
【问题讨论】:
-
Here 是一篇关于如何在进程之间共享马赫信号量的文章。请注意,您应该尽量避免使用 Mach 的东西,因为它在用户空间中的使用已被弃用。
标签: c macos ipc semaphore shared-memory