2012-08-03 34 views
4

计划使用posix信号来同步2个进程。不太确定使用哪种名称或未命名。已命名和未命名的posix信号量

每个的优点和缺点是什么?我如何决定使用哪一个?在哪些情况下,比其他情况更可取?

谢谢。

回答

2

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

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