1. 信号量:
简述:用于进程传递信号的一个整数值。它在linux C++中表示为sem_t包含在<semaphore.h>中。
操作:
函数sem_init原型如下:
/* Initialize semaphore object SEM to VALUE. If PSHARED then share it
with other processes. */
extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value)
__THROW;
参数介绍:
__sem为需要初始的sem_t的指针
__pshared为共享属性。不为0则在进程间共享,否则只在本进程间共享。
__value给出了信号量的初始值
函数sem_post原型如下:
/* Post SEM. */
extern int sem_post (sem_t *__sem) __THROWNL;
作用就是将传入的信号量的值加1。当有线程在该信号量阻塞的话,线程就可以从队列中被放出来执行。
函数sem_wait原型如下:
/* Wait for SEM being posted.
This function is a cancellation point and therefore not marked with
__THROW. */
exte