计划使用posix信号量来同步2个进程。不太确定使用哪个 - 命名或未命名。
每种优缺点有哪些?我该如何决定使用哪个?在哪种情况下,哪一种比另一种更可取?
感谢。
答案 0 :(得分:3)
如果两个进程不相关,则应使用命名信号量。如果这两个进程是相关的(即分叉),或者如果你只是在线程之间使用信号量,那么你应该使用未命名的。
未命名的优点是您不必跟踪名称和任何权限,也不必取消链接。并且未命名的信号量可以用作一个简单的全局变量(或在堆上),它们在同一进程的线程之间共享,或者放在共享内存中,在分叉的情况下将由子进程继承过程