信号量的物理意义是当信号量值大于零时表示有什么? ;当信号量值小于零时,其绝对值为多少 。

小溪趣谈电子数码
高粉答主

2020-12-30 · 专注解答各类电子数码疑问
小溪趣谈电子数码
采纳数:2103 获赞数:584828

向TA提问 私信TA
展开全部

信号量的物理意义是当信号量值大于零时表示可用资源的数目;当信号量值小于零时,其绝对值为因请求该资源而被阻塞的进程数目 。

在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。

扩展资料:

抽象的来讲,信号量的特性如下:信号量是一个非负整数(车位数),所有通过它的线程/进程(车辆)都会将该整数减一(通过它当然是为了使用资源),当该整数值为零时,所有试图通过它的线程都将处于等待状态。

在信号量上两种操作: Wait(等待) 和 Release(释放)。当一个线程调用Wait操作时,它要么得到资源然后将信号量减一,要么一直等下去(指放入阻塞队列),直到信号量大于等于一时。Release(释放)实际上是在信号量上执行加操作,对应于车辆离开停车场,该操作之所以叫做“释放”是因为释放了由信号量守护的资源。

参考资料来源:

百度百科-信号量

生活畅谈者
高能答主

2020-12-30 · 生活新鲜事,看我就知道
生活畅谈者
采纳数:418 获赞数:344767

向TA提问 私信TA
展开全部

系统中可用资源数目,因请求该资源而阻塞的数目。

信号量比文件锁有优势,效率不是高那么一点,起码不用打开文件关闭文件这些耗时间的工作。但是一旦锁定,若在解锁之前出现程序崩溃等segment fault问题,将直接导致锁定的信号量无法恢复,形成永久占用。 文件锁则没有这个问题,进程的退出将导致文件描述符关闭,在该描述符上进行的锁定操作就自行解除。

扩展资料:

注意事项:

信号量程序实例:现在创建多个线程使用同一信号量,让其打印出1来,观察打印结果,总结规律。

程序思路:创建一个信号量,通常其初始值为0,然后释放掉一个信号量,于是Wait函数返回,最先等待的线程将开始运行。在打印完1后释放掉2个信号值,接着会有两个线程开始运行,如细胞分裂,其打印个数将会以2倍速度扩张。

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
474420999
2011-12-21 · TA获得超过215个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:122万
展开全部
1.系统中可用资源数目
2.因请求该资源而阻塞的数目
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式