2.3_8 多生产者-多消费者问题

2.3_8 多生产者-多消费者问题

实现思路

semaphore mutex=1;	//实现互斥访问盘子(缓冲区)
semaphore apple=0;	//盘子中有几个苹果
semaphore orange=0;	//盘子中有几个橘子
semaphore plate =1;	//盘子中还可以放多少个水果dad(){while(1){准备一个苹果;P(plate);P(mutex);把苹果放入盘子;V(mutex);V(apple);}
}mom(){while(1){准备一个橘子;P(plate);P(mutex);把橘子放入盘子;V(mutex);V(orange);}
}daughter(){while(1){P(apple);P(mutex);从盘中取出苹果;V(mutex);V(apple);吃掉苹果;}
}son(){while(1){P(orange);P(mutex);从盘中取出橘子;V(mutex);V(orange);吃掉苹橘子;}
}

知识回顾与重要考点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/438665.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GMS测试BTSfail-CVE-2022-20451

描述: 项目需要过GMS兼容性测试,BTS这块我们环境没有,送检之后出现了一个BTS的Alert,这个是必须要解决的。下面的warning可以不考虑。 这个是patch问题,根据代理提供的pdf文件找到一个id:为A-235098883的补丁&#xf…

数据库管理-第141期 DG PDB - Oracle DB 23c(20240129)

数据库管理141期 2024-01-29 第141期 DG PDB - Oracle DB 23c(20240129)1 概念2 环境说明3 操作3.1 数据库配置3.2 配置tnsname3.3 配置强制日志3.4 DG配置3.5 DG配置建立联系3.6 启用所有DG配置3.7 启用DG PDB3.8 创建源PDB的DG配置3.9 拷贝pdbprod1文件…

UDP通信以及本地套接字

1. UDP 1.1 UDP 通信&#xff1a; UDP服务端创建出来的套接字不是监听套接字&#xff0c;直接就是通信套接字。 #include <sys/types.h> #include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *de…

源码安装nginx并提供服务脚本

一、下载nginx ①官网复制下载链接 ②在Linux中下载 [rootopenEuler2 ~]# wget -c https://nginx.org/download/nginx-1.24.0.tar.gz 二、解压并指定路径 [rootopenEuler2 ~]# tar xf nginx-1.24.0.tar.gz -C /usr/local/src/ 三、安装依赖 dnf install -y gcc gcc-c mak…

备战蓝桥杯----贪心算法(二进制)

已经差不多掌握了贪心的基本思想&#xff0c;让我们看几道比较趣的题吧&#xff01; 先来个比较有意思的题热热身&#xff1a; 法1.我们可以先把l,r化成二进制的形式。 然后分俩种情况&#xff1a; &#xff08;1&#xff09;若他们位数不一样并且位数高的全为1&#xff0c;…

第九节HarmonyOS 常用基础组件15-DatePickerl

1、描述 日期选择组件&#xff0c;用于根据指定日期范围创建日期滑动选择器。 2、接口 DatePicker(options:{start?: Date, end?: Date, selected?: Date}) 3、参数 参数名 参数类型 必填 描述 start Date 否 指定选择器的开始日期。默认值&#xff1a;Date(‘19…

如何使用docker compose安装APITable并远程访问登录界面

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 …

神经调节的Hebbian学习用于完全测试时自适应

摘要 完全测试时自适应&#xff08;Fully test-time adaptation&#xff09;是指在推理阶段对输入样本进行序列分析&#xff0c;从而对网络模型进行自适应&#xff0c;以解决深度神经网络的跨域性能退化问题。我们从生物学合理性学习中获得灵感&#xff0c;其中神经元反应是基…

TBTOOLS标记染色体上的gene

最近碰到个问题&#xff0c;如何在染色体上标记gene, 查了下发现了个windows工具&#xff1a;TBTOOLs &#xff0c; 有点意思&#xff0c;真是简洁高效。 话不多说&#xff0c;直接干。。 工具下载 直接在github 下载即可 https://github.com/CJ-Chen/TBtools-II&#xff0c;…

防御保护常用知识

防火墙的主要职责在于&#xff1a;控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之 后做出对应的动作 防火墙分类主要有四类&#xff1a; 防火墙吞吐量 --- 防火墙同一时间能处理的数据量多少 防火墙的发展主要经过以下阶段&#xff1b; 传统防火墙&#xf…

1002. HarmonyOS 开发问题:鸿蒙 OS 技术特性是什么?

1002. HarmonyOS 开发问题&#xff1a;鸿蒙 OS 技术特性是什么? 硬件互助&#xff0c;资源共享 分布式软总线 分布式软总线是多种终端设备的统一基座&#xff0c;为设备之间的互联互通提供了统一的分布式通信能力&#xff0c;能够快速发现并连接设备&#xff0c;高效地分发…

海外游戏平台系统和国内的有什么不同?

随着互联网的普及和游戏产业的迅猛发展&#xff0c;游戏平台系统成为了玩家们获取游戏内容、交流心得的重要渠道。然而&#xff0c;海外游戏平台系统和国内的游戏平台系统存在着许多不同之处。本文将就以下几个方面进行探讨。 一、游戏内容与版本 在游戏内容方面&#xff0c;海…