多线程编程指南

命名信号和未命名信号

POSIX 信号可以是未命名的,也可以是命名的。未命名信号在进程内存中分配,并会进行初始化。未命名信号可能可供多个进程使用,具体取决于信号的分配和初始化的方式。未命名信号可以是通过 fork() 继承的专用信号,也可以通过用来分配和映射这些信号的常规文件的访问保护功能对其进行保护。

命名信号类似于进程共享的信号,区别在于命名信号是使用路径名而非 pshared 值引用的。命名信号可以由多个进程共享。命名信号具有属主用户 ID、组 ID 和保护模式。

对于 openretrievecloseremove 命名信号,可以使用以下函数:sem_opensem_getvaluesem_closesem_unlink。通过使用 sem_open,可以创建一个命名信号,其名称是在文件系统的名称空间中定义的。

有关命名信号的更多信息,请参见 sem_opensem_getvaluesem_closesem_unlink 手册页。