第六讲 进程地同步(续).pptVIP

  • 0
  • 0
  • 约4.17千字
  • 约 27页
  • 2018-08-22 发布于江苏
  • 举报
第六讲 进程地同步(续)

第 六 讲 进 程 的 同 步(续) 例3:哲学家吃通心面问题 上述解法可能出现永远等待,有若干办法可避免死锁: 至多允许四个哲学家同时拿左边筷子; 奇数号先取左边的叉子,偶数号先取右边的叉子; 每个哲学家取到手边的两把叉子才吃,否则一把叉 子也不取。 例4:读者写者问题 因此,当Readcount=0, 表示尚无Reader进程在读时,Reader进程才需要执行wait(Wmutex)操作。若wait(Wmutex)操作成功,Reader进程便可去读,相应地,做Readcount+1操作。 同理,仅当Reader进程在执行了Readcount减1操作后其值为0时,才须执行signal(Wmutex)操作,以便让Writer进程写。 var Readcount : integer:=0; Wmutex,Rmutex: semaphore; Readcount := 0; /* 读进程计数 */ Wmutex := 1; Rmutex := 1; procedure read; procedure write; begin begin P(Rmutex);

文档评论(0)

1亿VIP精品文档

相关文档