C++信号量使用简介

/*头文件*/
#include <semaphore.h>

/*声明与定义*/
extern sem_t s_update_info_sem;
sem_t s_update_info_sem;

/*创建信号灯*/
int ret = sem_init(&s_update_info_sem, 0, 2);

/*点灯*/
sem_post(&s_update_info_sem);     //信号灯值加1,表示增加一个可访问的资源。

/*等待灯亮*/
sem_wait(&s_update_info_sem);      //等待信号灯值大于0,然后将信号灯值减1,并返回。
sem_trywait(&s_update_info_sem);   //如果信号灯计数大于0,则将值减1并返回0,否则立即返回-1。

/*销毁信号灯*/
sem_destroy(&s_update_info_sem)
posted @ 2021-05-11 17:42  h云淡风轻  阅读(7)  评论(0编辑  收藏  举报  来源