- 进程的同步与互斥
  - 进程同步定义
    - 多个进程按一定次序执行
    - 类比接力比赛的配合
  - 进程互斥定义
    - 多个进程争夺同一资源
    - 资源使用时互相制约
  - 解决进程问题的方法
    - 硬件方法
    - 软件方法
    - 信号量机制
      - 提出者:荷兰学者迪杰斯特拉
      - 核心概念
        - 整型变量与等待队列
        - P操作与V操作
      - P操作分析
        - value值减1表示申请资源
        - value值小于0时进程阻塞
        - 绝对值表示等待队列中进程数量
      - V操作分析
        - value值加1表示释放资源
        - 唤醒等待队列中的进程
  - 信号量的应用实例
    - 生产者消费者问题
      - 缓冲池结构
        - 生产者进程放入产品
        - 消费者进程取出产品
      - 进程间关系
        - 互斥关系
          - 缓冲池同时只能被一个进程访问
        - 同步关系
          - 缓冲池满时生产者等待
          - 缓冲池空时消费者等待
      - 信号量设计
        - mutex信号量
          - 初始值为1
          - 实现互斥访问
        - full信号量
          - 表示缓冲池中数据数量
        - empty信号量
          - 表示缓冲池中空间数量
      - 生产者进程流程
        - 执行P操作申请资源
        - 放入产品后执行V操作
      - 消费者进程流程
        - 执行P操作申请资源
        - 取出产品后执行V操作
  - 思考题
    - P操作次序能否互换

版权所有:全国高校教师网络培训中心

技术支持:北京畅想数字教育科技股份有限公司

联系地址:北京市西城区德外大街4号院A座2层

咨询电话:400-6699-800

京ICP备08008005号 京公网安备110102004467