[关闭]
@llplmlyd 2018-09-22T16:44:14.000000Z 字数 1187 阅读 1751

操作系统原理(十)之信号量与管程

操作系统原理


信号量也是实现同步互斥的方法之一。

定义

  1. P()(Prolaag(荷兰语尝试减少))
  2. sem1
  3. sem<0,进入等待,否则继续
  4. V()(Verhoog(荷兰语增加))
  5. sem1
  6. sem<=0,唤醒一个等待进程

特性

分类

二者之间的关系:等价,基于一个可以实现另一个

使用

信号量实现同步互斥.

信号量实现条件同步

使用瓶颈

管程

组成

定义

管程是一种用于多线程互斥访问共享资源的程序结构 , 采用面向对象方法,简化了线程的同步机制, 任一时刻最多只有一个线程执行管理代码,正在管程中的线程可临时放弃管理的互斥访问,等待事件出现时恢复

条件变量(Condition Variable)

条件变量是管程内的等待机制
进入管程的线程因资源被占用而进入等待状态
每个条件变量表示一种等待原因,对应一个等待队列

Hansen 管程和Hoare 管程

Hansen 管程

Hoare 管程

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注