Linux并发(POSIX信号量)

2019-08-08 16:03:22 浏览数 (2)

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( )来销毁他。

点击“阅读”原文进入林老师唯一官微

挑选属于你的战斗武器!

0 人点赞