behind_s 2021-12-31 20:44 采纳率: 0%
浏览 187
已结题

操作系统进程同步模拟之——博物馆参观问题

问题描述:某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。
要求:用C编写一个程序来模拟实现上述的问题。要用到P、V原语操作,体现操作系统进程同步模拟的思想。
这是参考伪代码
int mutex=1;//互斥的来使用出入口
int empty=500;//博物馆中的空位数

void visitor()
{
    while(true)
    {
        p(empty) ;        //当博物馆还有空位的时才能进入博物馆
 
        p(mutex);
        进门;            //进门操作是互斥的,一次只允许一个人进去,所以用PV操作包起来
        v(mutex);
        
         参观;
         
        p(mutex);
        出门;             //这个操作也是互斥的,一次只允许一个人出去
        v(mutex);
 
        v(empty);        //出门后释放一个空位
    }
 
}

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2022-01-04 10:04
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 创建了问题 12月31日

悬赏问题

  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 关于#c++#的问题:(2)运算二叉树·表达式一般由一个运算符和两个操作数组成:(相关搜索:二叉树遍历)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
  • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
  • ¥45 求17位带符号原码乘法器verilog代码
  • ¥20 PySide6扩展QLable实现Word一样的图片裁剪框
  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)