欢迎来到天天文库
浏览记录
ID:52631943
大小:377.50 KB
页数:16页
时间:2020-04-12
《并发进程同步算法的设计方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、并发进程同步算法的设计方法关键:资源,信号量,初值,原语位置传统的设计步骤分析进程间的制约关系(找出制约资源)——〉困难定义信号量、确定信号初值编程(安排p、v位置)——〉位置错——〉功能错、死锁信号量描述前趋关系方法(规则):每条边设一信号量,初值为0任一操作:前加指向边上信号量的wait;后加离开边上信号量的signal;相邻wait、signal次序无关Programexam(input,output)Vara,b,c,d,e,f,g;semaphore∶=0,0,0,0,0,0,0;beginparbegin
2、beginS1;signal(a);signal(b);end;beginwait(a);S2;signal(c);signal(d);end;beginwait(b);S3;signal(e);end;beginwait(c);S4;signal(f);end;beginwait(d);S5;signal(g);end;beginwait(e);wait(f);wait(g);S6;end;parendend引入前趋图的设计方法:制约关系——〉前趋关系——〉p、v位置确定(不用找资源)1、不考虑同步关系,写
3、出每个进程独立的活动描述。2、同步的解决1)、分析问题,按功能的逻辑要求,找出进程间的前趋关系,画出前趋图。2)、设置信号量及p,v操作:每条前趋线设一个信号量,箭头前插入其p,箭尾后插入其v。3)确定信号量之初值:不能率先执行的p其信号量初值为0,否则为n(正整数,为p处申请资源的初始单位数)3、互斥的解决分析问题->找出临界资源;1个临界资源设1个信号量,初始值为1;在临界区的前后加上p、v。说明事例:并发进程同步问题实例生产者消费者问题变种231P对3C问题4取水果问题父亲一次放一个水果(橘子或苹果),女儿取食橘子,儿
4、子取食苹果5取齐偶数问题6理发师问题理发店包含一间接待室和一间工作室,接待室内有n(n≥1)把椅子,而工作室只有l把椅子。如果没有顾客,理发师就去睡觉;如果顾客来时所有的椅子都有人,那么顾客离去;如果理发师在忙且接待室有空闲的椅子,那么此顾客会坐在其中1把空闲的椅子上等待;如果理发师在睡觉,则顾客会唤醒他。请采用信号量机制解决该理发师问题(可用伪代码描述)。5司售协同问题6读者写者问题变形7交通问题临界资源8车船桥问题河建议多见题
此文档下载收益归作者所有