- 146
- 0
- 约7.11千字
- 约 79页
- 2019-03-05 发布于广东
- 举报
PV原语题;;在实现互斥时应注意
wait(mutex)和signal(mutex)必须成对地出现。
缺wait(mutex)将会引起系统混乱,不能保证对临界资源的互斥访问
缺signal(mutex)将会使该临界资源永久不被释放;;利用信号量实现前驱关系(同步例子);例:在公共汽车上,司机和售票员各司其职。司机:正常行车、到站停车、启动开车;售票员:售票、开车门、关车门。司机和售票员之间应该密切配合,协调一致,以确保行车安全。请用PV操作实现司机和售票员之间的同步。
;司机:
while(1){
正常行车;
到站停车;
signal(open);
wait(run);
启动开车;
};例:桌子上有一只盘子,每次只能放一只水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用PV操作实现他们之间的同步机制。;semaphore empty=1, orange = 0, apple=0;;father( ){
while(1){
P (empty);
向盘子中放苹果;
V (apple);}
;取动物问题;;例:三个进程P1、P2、P3互斥使用一个包含N(N0)个单元的缓冲区。P1每次用produce( )
原创力文档

文档评论(0)