16-总结
53.7 总结
POSIX信号量允许进程或线程同步它们的动作。POSIX信号量有两种:命名的和未命名的。命名信号量是通过一个名字标识的,它可以被所有拥有打开这个信号量的权限的进程共享。未命名信号量没有名字,但可以将它放在一块由进程或线程共享的内存区域中,使得这些进程或线程能够共享同一个信号量(如放在一个POSIX共享内存对象中以供进程共享,或放在一个全局变量中以供线程共享)。
POSIX信号量接口比System V信号量接口简单。信号量的分配和操作是一个一个进行的,并且等待和发布操作只会将信号量值调整1。
与System V信号量相比,POSIX信号量具备很多优势,但它们的可移植性要稍差一点。对于多线程应用程序中的同步来讲,互斥体一般来讲要优于信号量。
更多信息
[Stevens, 1999]提供了POSIX信号量的另一种表示并给出了使用其他各种IPC机制(FIFO、内存映射文件以及System V信号量)的用户空间实现。[Butenhof, 1996]介绍了POSIX信号量在多线程应用程序中的用法。