用信号量机制实现进程互斥、同步、前驱关系

信号量机制实现进程互斥

  1. 分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问就应放在临界区)

  2. 设置互斥信号量mutex,初值为1

  3. 在临界区之前执行P(mutex)

  4. 在临界区之后执行V(mutex)

信号量机制实现进程同步

  1. 分析什么地方需要实现“同步关系”,即必须保证“一前一后”执行的两个操作(或两句代码)

  2. 设置同步信号量S,初始为0

  3. 在“前操作”之后执行V(S)

  4. 在“后操作”之前执行P(S)

信号量机制实现前驱关系

  1. 要为每一对前驱关系各设置一个同步变量

  2. 在“前操作”之后对相应的同步变量执行V操作

  3. 在“后操作”之前对相应的同步变量执行P操作

每一个前驱关系的P、V操作要对应。

最后更新于