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

网站开发实例视频百度大数据平台

网站开发实例视频,百度大数据平台,任何网络项目开始的第一步,重庆小程序开发目录 为什么要引入管程 管程的定义和基本特征 用管程解决生产者消费者问题 结论 本节思维导图 为什么要引入管程 原因:在解决进程的同步与互斥问题时,信号量机制存在编写困难和易出错的问题 能不能设计一种机制,让程序员写程序时不再需…

目录

为什么要引入管程

管程的定义和基本特征

用管程解决生产者消费者问题

结论

本节思维导图


为什么要引入管程

原因:在解决进程的同步与互斥问题时,信号量机制存在编写困难和易出错的问题

能不能设计一种机制,让程序员写程序时不再需要关注复杂的PV操作,让写代码更轻松呢

 ”管程“:一种更高级同步机制

管程的定义和基本特征

管程是一种特殊的软件模块,由以下部分组成:

  1. 局部于管程的共享数据结构说明
  2. 对该数据结构进行操作的一组过程(”过程“即”函数“)
  3. 对局部于管程的共享数据设置初始值的语句
  4. 管程有一个名字

 管程的基本特征:

  1. 局部于管程的数据只能被局部于管程的过程所访问
  2. 一个进程只能通过调用管程内的某个过程才能进入管程访问共享数据
  3. 每次仅允许一个进程在管程内执行某个内部过程

用管程解决生产者消费者问题

empty和full是标志信号量用于解决同步问题 

N为缓冲区的大小

情况一:两个生产者并发执行,依次调用了insert过程

        当生产者一调用insert进程时,生产者二想要调用insert进程时会被编译器阻塞(即管程解决生产者消费者问题时,是利用编译器实现各进程互斥地进入管程中地过程)

情况二: 两个消费者进程先执行,生产者后执行

        由于缓冲区中产品初始值为0,所以两个消费者进程在并发执行remove函数时都会在wait(empty)处阻塞,然后被挂在等待队列中,此时生产者进程将自己生产的产品放入缓冲区(insert_item(item))(缓冲区中还能放下新生产的产品)然后判断此时新产品是否是缓冲区中的唯一一个产品(如果是则说明可能会有消费者在等待新产品的生产,此时唤醒排在empty等待队列队头的消费者进程)然后count--,在消费者进程拿走产品前会判断缓冲区在自己拿走产品之前是否已经满了(如果已经满了,证明此时需要唤醒生产者进程去生产因拿走产品导致的缓冲区出现的空位)最后消费者进程拿走产品(最后肯定能拿走,但是拿走之前你得让之前那些因为缓冲区满了而停工的生产者继续生产)

结论

引入管程的目的就是要更方便地实现进程互斥和同步:

  1. 需要在管程中定义共享数据(生产者消费者问题中的缓冲区)
  2. 需要在管程中定义用于访问这些共享数据的”入口”,即函数(生产者消费者问题中,可以定义一个函数用于将产品放入缓冲区,再定义一个函数用于从缓冲区取出产品)
  3. 只有通过这些特定的“入口”才能访问共享数据
  4. 管程中有很多“入口”,但是每一次只能开放其中一个“入口”,并且只能让一个进程或线程进入(生产者消费者问题中,各进程需要互斥地访问共享缓冲区,管程地这种特性即可保证一个时间段内最多只会有一个进程在访问缓冲区,这种互斥特性是由编译器负责实现地,程序员不需要关心)
  5. 可在管程中设置条件变量及与之相关的等待/唤醒操作以解决同步问题。可以让一个进程或线程在条件变量上等待(此时,该进程应先释放管程地使用权,也就是让出“入口”):可以通过唤醒操作将等待在条件变量上地进程或线程唤醒

        程序员可以用某种特殊地语法定义一个管程,之后其他程序员就可以使用这个管程提供地特定“入口”很方便地实现了进程地同步和互斥了(封装思想)

本节思维导图

~over~

http://www.zhongyajixie.com/news/48122.html

相关文章:

  • 医疗美容网站建设外贸营销型网站设计
  • 有网站做淘宝客外贸建站网站推广
  • 太仓智能网站开发广州网站营销推广
  • asp.net网站配置文件石家庄seo
  • 做网站时背景图片浮动百度搜索竞价
  • 做设计必须知道的几个网站seo搜索排名优化方法
  • 昌平网站建设怎么才能建立一个网站卖东西
  • 开源网站建设实习心得国内推广平台有哪些
  • 广州购物网站开发大数据平台
  • 新闻网站建设评比规则站长工具seo综合查询怎么用
  • wordpress建m域名网站网站推广公司排行榜
  • 建设端午节网站的目的主题aso应用商店优化原因
  • 顺企网宁波网站建设今日小说排行榜百度搜索榜
  • 做打折网站如何app拉新项目推广代理
  • 网站建设销售好做页面优化的方法有哪些
  • 网站模板在线预览网络推广外包哪个公司做的比较好
  • b站私人直播间哪个软件好用域名搜索引擎入口
  • 网站建设 h5百度搜索提交入口
  • wordpress文章自动更新方法长沙网站推广和优化
  • 中山地区做网站公司在百度上怎么发布信息
  • 郑州企业建站设计上海网站营销seo方案
  • 橙子建站是什么平台搜索引擎优化案例分析
  • 做招生网站实体店100个营销策略
  • 软件app研发英语seo什么意思
  • 廊坊外贸网站建设百度搜索引擎优化方式
  • 上海疫情百度灰色词优化排名
  • 移动端网站的优势百度小程序
  • 企业网站建设哪家快软文新闻发布网站
  • 达内网站开发培训价格辽宁网站建设
  • 门户网站建设流程seo是什么意思 为什么要做seo