十 真经之安全岛问题(南开)
在南开大学至天津大学间有一条弯曲的路每次只允许一辆自行车通过但中间有小的安全岛M(同时允许两辆车)可供两辆车在已进入两端小车错车设计算法并使用PV实现
问题分析
由于安全岛M仅仅允许两辆车停留本应该作为临界资源而要设置信号量但根据题意任意时刻进入安全岛的车不会超过两辆(两个方向最多各有一辆)因此不需要为M设置信号量在路口s和路口t都需要设置信号量以控制来自两个方向的车对路口资源的争夺这两个信号量的初值都是此外由于从s到t的一段路只允许一辆车通过所以还需要设置另外的信号量用于控制由于M的存在可以为两端的小路分别设置一个互斥信号量
The PV code Using Pascal
var TNNTLMK:semaphore;
TN:=;
NT:=;
L:=;
K:=;
M:=;
返回《操作系统之PV金典》
[] []