Linux—信号量
一、铺垫
sen_t //库函数的内置类型;创建一个信号量
二、初始化
#include <semaphore.h>int sem_init(sem_t *sem, int pshared, unsigned int value);参数:sem_t *sem:信号量的地址pshared:0表示线程间共享,非零表示进程间共享value:信号量初始值;
三、销毁信号量
int sem_destroy(sem_t *sem);
四、等待信号量
功能:等待信号量,会将信号量的值减 1int sem_wait(sem_t *sem); // P操作,使用资源;
五、发布信号量
功能:发布信号量,表示资源使用完毕,可以归还资源了。将信号量值加 1 。int sem_post(sem_t *sem); //V操作释放资源
//PV操作是的PV使用的是荷兰语,所以没有英语那么顺口;