车船问题同步问题

上传人:小** 文档编号:46121048 上传时间:2018-06-22 格式:DOC 页数:3 大小:22.50KB
返回 下载 相关 举报
车船问题同步问题_第1页
第1页 / 共3页
车船问题同步问题_第2页
第2页 / 共3页
车船问题同步问题_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《车船问题同步问题》由会员分享,可在线阅读,更多相关《车船问题同步问题(3页珍藏版)》请在金锄头文库上搜索。

1、车船问题车船问题解法:将二个桥作为一个解法:将二个桥作为一个临界资源临界资源程序描述程序描述 main( ) 车进程车进程( ) 船进程船进程( ) int mutex=1; 到到 B 桥桥 到到 A 桥桥* 互斥信号灯互斥信号灯 * P(mutex) P(mutex) cobegin 过过 B 桥桥 吊起吊起 A 桥桥while (还有车还有车) 到到 A 桥桥 吊起吊起 B 桥桥 车进程车进程( ) ; 过过 A 桥桥 过二桥过二桥while (还有船还有船) V(mutex) 放下放下 B 桥桥 船进程船进程( ) ; 放下放下 A 桥桥coend V(mutex) 问题:效率太低问题:

2、效率太低AB解法:将每个桥作为一个临界资源,但解法:将每个桥作为一个临界资源,但车、船进程对桥的车、船进程对桥的申申请次序相同请次序相同。程序描述程序描述 :main( ) int SB=1; * B 桥互斥信号灯桥互斥信号灯int SA=1; * A 桥互斥信号灯桥互斥信号灯 cobegin while (还有车还有车) 车进程车进程( ) ; while (还有船还有船) 船进程船进程( ) ; coend 问题:问题:?车进程车进程( )到到 B 桥桥 P(SB)过过 B 桥桥V(SB) 到到 A 桥桥 P(SA)过过 A 桥桥 V(SA) 船进程船进程( )到到 A 桥桥P(SB)P(

3、SA) 吊起吊起 B 桥桥吊起吊起 A 桥桥过二桥过二桥放下放下 B 桥桥V(SB)放下放下 A 桥桥V(SA) 解法解法 3:将每个桥作为一个临界资源,但将弯道作为:将每个桥作为一个临界资源,但将弯道作为 N(如(如:20)个缓冲区。过)个缓冲区。过船时,车可藏到船时,车可藏到弯道内弯道内。程序描述程序描述 :main( ) int SB=1; int SA=1;int buff=20 * 空空缓冲区数缓冲区数 cobegin while (还有车还有车) 车进程车进程( ) ; while (还有船还有船) 船进程船进程( ) ; coend 更进一步的考虑:更进一步的考虑:二个桥都二个桥都吊起来后,后面的船能否接着跟进?吊起来后,后面的船能否接着跟进?二个桥都放下二个桥都放下吊来后,后面的车能否接着跟进(不受吊来后,后面的车能否接着跟进(不受缓冲区的缓冲区的限制限制)?)?车进程车进程( )到到 B 桥桥 P(buff)P(SB)过过 B 桥桥V(SB) 到到 A 桥桥 P(SA)过过 A 桥桥 V(SA) P(buff) 船进程船进程( )到到 A 桥桥P(SA) 吊起吊起 A 桥桥到到 B 桥桥P(SB) 吊起吊起 B 桥桥过过 A 桥桥放下放下 A 桥桥V(SA)过过 B 桥桥放下放下 B 桥桥V(SB)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号