以P操作为例,
wait(S)
{
while(S<=0);
S--;
}
当S小于等于零时,do nothing,此时想访问临界资源的进程需要等待;直到S大于零时,若有申请访问临界资源的进程,则信号量减一。
这样理解对吗?
操作系统相关算法中while();的含义
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
18条回答 默认 最新
关注 🌈🌈🌈参考通义千问和郭老师的小迷弟雅思莫了-编写提供🌈🌈🌈
您可以参考如下,如果回答的不正确,及时评论区回复我,我会根据你错误描述追加回复,直到您满意为止。您的理解基本上是正确的。while循环中的条件判断会不断地检查信号量S的值,直到S大于0为止,这样可以保证在访问临界资源之前,所有申请访问该资源的进程都必须等待直到资源可用。
以下是稍作修改过的代码示例:
wait(S) { while(S <= 0) { // do nothing, wait for S to become greater than 0 } S--; }
在这个例子中,wait函数会一直循环检查信号量S的值,直到S大于0时才会执行S--操作。这样可以保证在访问临界资源之前,所有等待资源的进程都必须等待信号量S的值大于0。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题