计算机*作系统中,若P、V*作的信号量S初值为2,当前值为-1,则表示有____个等待进程

谢谢详细给我讲一下这题怎么做谢谢了... 谢谢详细给我讲一下这题怎么做 谢谢了 展开
 我来答
果果就是爱生活
高能答主

2019-08-23 · 专注生活教育知识分享
果果就是爱生活
采纳数:2071 获赞数:272585

向TA提问 私信TA
展开全部

有1个等待进程。

信号量(Semaphore),是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。

为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Semaphore VI分别放置在每个关键代码段的首末端。初值为2,表示初始时有两个可用的资源。现在为-1,就说明这两个可用资源已经被占用了,有一个进程还在等待资源。

扩展资料:

对信号量有4种操作(#include<semaphore.h>):

1、 初始化(initialize),也叫做建立(create) int sem_init(sem_t *sem, int pshared, unsigned int value);

2、等信号(wait),也可叫做挂起(suspend)int sem_wait(sem_t *sem);

3、给信号(signal)或发信号(post) int sem_post(sem_t *sem);

4、清理(destroy) int sem_destory(sem_t *sem)。

参考资料来源:百度百科-信号量    

wallonvann
推荐于2017-12-16 · TA获得超过218个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:195万
展开全部
信号量表示的是可用的资源数。初值为2,表示初始时有两个可用的资源。现在为-1,说明这两个可用资源已经被占用了,而且有一个进程在等待资源,所以就为-1了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-06-17
知道答主
回答量:5
采纳率:0%
帮助的人:3.1万
展开全部
有几个等待进程?
可以看当前值,是当前值的绝对值
上面题目的的答案是1
如果当前值为整数的话,就为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式