八、管程

66 阅读1分钟

管程

管程是进程同步的工具

管程由共享资源以及一组函数组成,这组函数实现了对共享资源的各种操作

管程组成部分

  • 管程有一个名称
  • 管程有私有的共享数据结构
  • 管程有对共享数据进程操作的函数
  • 管程有共享数据进行初始化的语句

管程出现的由来

  • 管程出现前,是通过信号量的思想处理进程同步问题
  • 信号量思想在编程时难度大,易出错
  • 将信号量的思想封装下,有了管程

管程机制

  • 进入管程的进程可能由于某种条件不满足而阻塞
  • 阻塞的进程会进入条件队列
  • 因不同条件阻塞,会进入不同条件队列
  • 进程进入条件队列后,会释放管程和cpu资源
  • 进程被唤醒后会进入就绪队列