zoukankan      html  css  js  c++  java
  • 操作系统几个PV操作算法模型

    考前抱佛脚T-T这几题感觉比那几个典型的好理解多了。。看着课本上那几道例题越看越懵。。是我有问题还是书上写着有问题。。下面三个是偶自己写的不懂对不对。。。假装自己写的都对吧XD来不及了

    男女共浴问题

    问题描述:假设某宿舍楼有一共用浴室,学校颁布规定:当有一个女生正在使用浴室,则其他女生可以进入,但是男生不行,反之亦然。在每个浴室门上有一个滑动指示符号,表示当前处于以下三种可能状态之一:
    (1)空 (2)有女生 (3)有男生

    semaphore mutex = 1,mutex_man = 1,mutex_woman = 1;
    int man_count = 0,woman_count = 0;
        
    void Boy(){
        /* 1.跟其他男孩子抢着进浴室 */
        P(mutex_man);
        man_count++;
        if(man_count==1){
            P(mutex);	//跟其他女孩子抢浴室的主权
        }
        V(mutex_man);
        /* 跟其他男孩子抢着进浴室 */
        洗白白ing
        /* 2.洗完澡走人 */
    	P(mutex);
        if(man_count==0){	//男孩子们都洗完了,女孩子们就可以进去洗澡了
            V(mutex);
        }
    	V(mutex);
        /* 洗完澡走人 */
    }
    
    void Girl(){
        /* 1.跟其他女孩子抢着进浴室 */
        P(mutex_woman);
        woman_count++;
        if(woman_count==1){
            P(mutex);	//跟其他男孩子抢浴室的主权
        }
        V(mutex_woman);
        /* 跟其他女孩子抢着进浴室 */
        洗白白ing
        /* 2.洗完澡走人 */
    	P(mutex);
        if(woman_count==0){	//女孩子们都洗完了,男孩子们就可以进去洗澡了
            V(mutex);
        }
    	V(mutex);
        /* 洗完澡走人 */
    }
    

    农民和饭馆交易动物问题

    问题描述:有一只铁笼子,每次只能放入一只动物,猎手向笼子里放入老虎,农民向笼子里放入;动物园等待取笼子里的老虎,饭店等待取笼子里的猪。现请用wait和signal操作写出能同步执行的程序。

    image-20200709174036690

    image-20200709174056721

    阅览室进出问题

    有一阅览室,共有100个座位。读者进入时必须先在一种登记表上登记,该表为每一座位列一个表目,包括座号和读者姓名。读者离开时要注销掉登记内容。

    semaphore mutex = 1;
    semaphore s = 100;
    
    void readers(){
        while(true){
            P(s);	//先观察阅览室里边有没有座位,有则进入阅览室
            /* 1.登记并进入阅览室 */
            P(mutex);
            读者在登记表上登记个人信息
            V(mutex);
            /* 登记并进入阅览室 */
            读者开始愉悦地看起了书
            /* 2.注销并退出阅览室 */
            P(mutex);
            读者在登记表上登记个人信息
            V(mutex);
            /* 注销并退出阅览室 */
            V(s);	//从阅览室出来以后,空出一个座位
        }
    }
    
  • 相关阅读:
    selenium爬虫 :使用selenium爬取淘宝某口红店铺的用户对商品的评价
    在scrapy框架 使用ImagesPipeline 抓取下载某牙直播主播直播间封面的图片!
    在multiprocessing.dummy线程池,基于线程 pool.map(callback,alist)再次处理数据:爬取某音乐网站热歌排行榜里面的歌曲!
    selenium 模拟登陆 + requests 抓取登陆后的数据:某小说网站
    vue的基本使用总结一
    登录页面设计
    Auth模块
    批量插入/分页器
    前后端传输数据的编码格式(contentType)
    ajax
  • 原文地址:https://www.cnblogs.com/lightice/p/13275181.html
Copyright © 2011-2022 走看看