当前位置: 首页 > news >正文

生产者-消费者问题

生产者-消费者问题

系统中有一组生产者进程和一组消费者进程,生产者进程每次生一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用

生产者和消费者共享一个初始为空,大小为n的缓冲区

缓冲区没有满的时候,生产者才能把产品放入缓冲区,否则必须等待。

只有缓冲区没空的时候,消费者才能从中取出产品,否则必须等待。

缓冲区是一种临界资源,各进程必须互斥访问

semaphore mutex=1;//互斥信号量,实现对缓冲区的互斥访问
semaphore empty=n;//同步信号量,代表空闲缓冲区的数量
semaphore full=0;//同步信号量,代表产品的数量
producer(){while(1){生产一个产品;P(empty);//消耗一个空闲缓冲区P(mutex);放入;V(mutex);V(full);//消耗一个非空缓冲区,代表增加了一个产品}
}
consumer(){while(1){P(full);//消耗一个产品P(mutex);取出;V(mutex);V(empty);//增加一个空闲缓冲区使用产品;}
}

互斥的P操作,一定要在实现同步的P操作之后,顺序不能颠倒

但是V操作可以随意交换顺序,不会导致进程阻塞

http://www.sczhlp.com/news/147512/

相关文章:

  • Manim实现闪电特效
  • 有关网站建设的知识工信部做网站认证吗
  • 东莞麻涌网站建设做电影小视频在线观看网站
  • 做的好的食用菌公司网站有wordpress导出数据库结构
  • 郑州网站维护推广西安 域名空间网站制作
  • 西安做网站公司xamokjfw网页制作教程
  • 廊坊网站建设冀icp备cuteftp 备份网站
  • 网站开发标书范本浙江建设局网站
  • 网站开发量计算网站各个阶段推广
  • Gitee DevOps:本土化基因驱动中国企业研发效能革命
  • 咸阳做网站xymokj做区位分析的地图网站
  • 建设个电商平台网站需要多少钱企业品牌vi设计
  • wordpress最大的网站wordpress 以年—月目录形式组织上传内容
  • 没有排名的网站怎么做asp网站上一篇下一篇代码
  • 中海外城市建设有限公司网站相亲网站用什么做的
  • 网站ip查询站长工具宁德市城乡建设网站
  • h5网站制作介绍商河县做网站公司
  • 国内十大旅游网站排名wordpress 插件反复安装
  • logo和网站主色调奉贤专业网站建设
  • 网站建设简述需求分析的基本概念及内容有创意的公司名字
  • 有专门做辩论的网站吗edge网页视频怎么下载
  • 快速查看Navicat数据库连接密码实战
  • 老旧系统接入统一认证
  • 每周读书与学习-初识JMeter 元件(三)
  • Playwright MCP浏览器自动化全攻略
  • 服务类网站怎么做马蜂窝网络营销网站建设
  • 按键精灵官方网站怎么做脚本建筑网站新闻写那些好
  • 黄岛网站建设公司哪家好网站外链优化
  • 集约化网站建设的核心做网站编辑的时候没保存怎么
  • dede电影网站2008iis添加网站打不开