思考 一条公路两次横跨运河两个运河桥相距米均带有闸门以供船只通过运河桥运河和公路的交通均是单方向的运河上的运输由驳船担负在一驳船接近吊桥A时就拉汽笛警告若桥上无车辆吊桥就吊起直到驳船尾P通过此桥为止对吊桥B也按同样次序处理一般典型的驳船长度为米当它在河上航行时是否会产生死锁?若会说明理由请提出一个防止死锁的办法并用信号量来实现驳船的同步
问题分析 当汽车或驳船未同时到达桥A时以任何次序前进不会产生死锁但假设汽车驶过了桥A它在继续前进并且在驶过桥B之前此时有驳船并快速地通过了桥A驳船头到达桥B这时会发生死锁因为若吊起吊桥B让驳船通过则汽车无法通过桥B若不吊起吊桥B让汽车通过则驳船无法通过桥B可用两个信号量同步车船通过两座桥的动作 返回《操作系统之PV金典》 [] [] [] [] [] [] [] [] |