如果信号量的当前值为-4,则表示系统中在该信号量上有 ? 个等待进程?谢谢
1个回答
2022-09-29 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
表示有4个等待进程。
信号量的当前值如果是正值N,该值表示有N个可用资源。
如果为0,则表示所有资源全部被分配,同时没有进程处于等待状态
如果为负数N,则表示全部资源分配完毕,且还有N个进程处于等待该资源的状态。
例如:若信号S的初值为3,当前值为-2,则表示有( 2 )个等待进程,当信号量的值小于0时,其绝对值表示系统中因请求该类资源而被阻塞的进程个数。
扩展资料:
参数nsems是一个大于等于0的值,用于指明该信号量集中可用资源数(在创建一个信号量时)。当打开一个已存在的信号量集时该参数值为0。函数执行成功,则返回信号量集的标识符(一个大于等于0的整数),失败,则返回–1。函数semop用以操作一个信号量集,函数原型如下:
#include <sys/sem.h>
int semop( int semid, struct sembuf semoparray[], size_t nops );
函数中参数semid是一个通过semget函数返回的一个信号量标识符,参数nops标明了参数semoparray所指向数组中的元素个数。
参考资料来源:百度百科-信号量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询