首页 新闻 赞助 找找看

关于信号量PV操作的问题。。。。

0
悬赏园豆:5 [待解决问题]

如果是互斥信号量的话,应该设置信号量S=1,但是当有5个进程都访问的话,最后在该信号量的的链表里会有4个在等待,也就是说S=-4,那么第一个进程执行了V操作是S加1,释放了资源,下一个应该能够执行,但唤醒的这个进程在执行P操作时以为S<0,也还是执行不了,这是怎么回事?

是不是分析错了?

问题来自:百度百科名片:PV操作

解答没看懂!

小云菜的主页 小云菜 | 初学一级 | 园豆:101
提问于:2012-05-16 13:06
< >
分享
所有回答(1)
0

信号量是对资源的计数,你这里S=1,说明只有一个资源。同时有5个进程访问。你不需要把S=-4,这不是在计数资源。

忠勇 | 园豆:204 (菜鸟二级) | 2012-05-27 14:30

s=1表示互斥信号量,当s=-4时,含义就变了,表示有四个在等待的进程。

支持(0) 反对(0) 小云菜 | 园豆:101 (初学一级) | 2012-06-01 21:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册