首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请高人指点:在unix下,怎么实现二值信号量

2012-02-05 
请高人指点:在unix下,如何实现二值信号量通过sem_wait,sem_post可以实现计数信号量,即:即使我连续两次调用

请高人指点:在unix下,如何实现二值信号量
通过sem_wait,sem_post可以实现计数信号量,即:即使我连续两次调用sem_post,也不会报错,只会将信号量的值加2。现在我需要的是信号量的状态只有两个,当连续两次sem_post操作时会报错,请问该如何实现呢,谢谢了!!

[解决办法]
sem_getvalue( semfd , &value ) ;
if ( value > = 1 )
return -1;
else
sem_post();
[解决办法]
这个需求不应该使用信号量,既然只有两个状态,用mutex就足够了

热点排行