教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

武汉大学 操作系统期末考试复习笔记 - 图文(5)

来源:网络收集 时间:2026-07-18
导读: 理发店里有一位理发师,一把理发椅和N把供等候理发顾客坐的椅子。 如果没有顾客,理发师睡眠,当一个顾客到来时叫醒理发师; 若理发师正在理发时又有顾客来,那么有空椅子就坐下,否则离开理发店。 为解决睡眠的理

理发店里有一位理发师,一把理发椅和N把供等候理发顾客坐的椅子。 如果没有顾客,理发师睡眠,当一个顾客到来时叫醒理发师;

若理发师正在理发时又有顾客来,那么有空椅子就坐下,否则离开理发店。

为解决睡眠的理发师问题,应使用三个信号量:

customers记录等候理发的顾客数(不包括正在理发的顾客);初值为0 barbers记录正在等候顾客的理发师数;初值为0 mutex用于互斥。初值为1

变量count记录等候的顾客数,它是customers的一份拷贝。之所以使用count是因为无法读取信号量的当前值。

理发师:

p(customers);/*是否有等候的顾客*/ p(mutex);

count=count-1;/*顾客数减1*/ v(barbers); /*理发师开始理发*/ v(mutex); 理发;

顾客:

p(mutex); if(count < N) { count=count+1 v(customers); v(mutex);

p(barbers); 理发; }

else v(mutex); /*无空椅子则离开*/

武汉大学 操作系统期末考试复习笔记 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520265.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)