命名和未命名的posix信号量

use*_*006 5 posix semaphore

计划使用posix信号量来同步2个进程.不太确定使用哪个 - 命名或未命名.

各有哪些优缺点?我该如何决定使用哪个?在哪种情况下,哪一种优于另一种?

谢谢.

Duc*_*uck 3

如果两个进程不相关,您应该使用命名信号量。如果两个进程相关(即分叉)或者如果您只是在线程之间使用信号量,则应该使用未命名。

未命名的优点是您不必跟踪名称和任何权限,也不必取消它们的链接。在同一进程的线程之间共享未命名信号量的情况下,它们可以用作简单的全局变量(或在堆上),或者在分叉的情况下放入将由子级继承的共享内存中过程。