System-V的信号量是老古董,除非万不得已,否则我们一般用POSIX信号量,好用、简单、靠谱。
拓展:
POSIX信号量分为两种,分别是POSIX无名信号量和POSIX有名信号量,这两种信号量比之前介绍的system-V的信号量机制要简洁,虽然没有后者的应用范围那么广泛(尤其在一些老系统中,因为system-V的信号量机制要更古老一些),但是POSIX良好的设计使得他们更具吸引力。
POSIX有名信号量的一般使用步骤是:
1,使用sem_open( )来创建或者打开一个有名信号量。
2,使用sem_wait( )和sem_post( )来分别进行P操作和V操作。
3,使用sem_close( )来关闭他。
4,使用sem_unlink( )来删除他,并释放系统资源。
POSIX无名信号量的一般使用步骤是:
1,在这些线程都能访问到的区域定义这种变量(比如全局变量),类型是sem_t。
2,在任何线程使用它之前,用sem_init( )初始化他。
3,使用sem_wait( )/sem_trywait( )和sem_post( )来分别进行P、V操作。
4,不再需要时,使用sem_destroy( )来销毁他。
点击“阅读”原文进入林老师唯一官微
挑选属于你的战斗武器!