04进程管理三互斥和同步一.pptVIP

  • 14
  • 0
  • 约1.1万字
  • 约 75页
  • 2017-05-21 发布于北京
  • 举报
* 2. 一般“信号量集” 一次需要N个某类临界资源时,就要进行N次wait操作--低效又可能死锁 基本思想:在AND型信号量集的基础上进行扩充:进程对信号量Si的测试值为ti(用于信号量的判断,即Si = ti,表示资源数量低于ti时,便不予分配),占用值为di(用于信号量的增减,即Si = Si - di和Si = Si + di) Swait(S1, t1, d1; ...; Sn, tn, dn); Ssignal(S1, d1; ...; Sn, dn); 一般信号量集用于同时需要多种资源、每种占用的数目不同、且可分配的资源还存在一个临界值时的处理; * 一般信号量集的几种特定情况: Swait(S, d, d)表示每次申请d个资源,当少于d个时,便不分配; Swait(S, 1, 1)表示互斥信号量; Swait(S, 1, 0)作为一个可控开关 当S=1时,允许多个进程进入临界区; 当S=0时,禁止任何进程进入临界区; 一般信号量集未必成对使用Swait和Ssignal:如:一起申请,但不一起释放; * 1. 生产者-消费者问题(the producer-consumer problem) 问题描述:若干进程通过有限的共享缓冲区交换数据。其中,生产者进程不断写入,而消费者进程不断读出;共享缓冲区共有N个;任何时刻只能有一个进程可对共享缓冲区进行操作。 * 生产者-消费

文档评论(0)

1亿VIP精品文档

相关文档