某大学的阅览室共有300个座位,同学进入时必须先在管理处用学生证换取座位牌,若座位满了,同学就要在阅览室外等候。当有同学离开时,要到管理处用座位牌换回学生证。请画出流程图,试用一种类语言,利用信号量和P、V操作,描述同学进入和离开阅览室的过程。

admin2013-12-31  35

问题 某大学的阅览室共有300个座位,同学进入时必须先在管理处用学生证换取座位牌,若座位满了,同学就要在阅览室外等候。当有同学离开时,要到管理处用座位牌换回学生证。请画出流程图,试用一种类语言,利用信号量和P、V操作,描述同学进入和离开阅览室的过程。

选项

答案学生进入阅览室的同步算法如以下流程如 图2—10所示。 [*] typedef int semaphore; semaphore mutex=1: semaphore sit=300; void student() { P(sit); P(mutex); mark_sit(); V(mutex); reading(); P(mutex): release_sit(); V(mutex); V(sit); leave(); }

解析
转载请注明原文地址:https://kaotiyun.com/show/dSxi777K
0

最新回复(0)