- 7
- 0
- 约1.01万字
- 约 50页
- 2017-07-02 发布于湖北
- 举报
ch33.4管程概要1
管程的实现:汉森方法(10) procedure signal(var s:condition; var IM interf); begin if s 0 then begin s := s – 1; IM.count2 := IM.count2 + 1; R(s); end; end; 管程的实现:汉森方法(11) 用管程实现进程同步时,进程应按下列次序工作: ?????? 请求资源。 ?????? 使用资源。 ?????? 释放资源。 汉森管程实现读者写者问题(1) 有两组并发进程:读者与写者,共享一个文件,要求:1)允许多个读者同时执行读操作;2)任一写者在完成写操作之前不允许其他读者和写者工作;3)写者欲工作,要等待已存在的读者完成读操作,新的读者与写者均被拒绝 汉森管程实现读者写者问题(2) type read_writer = MONITOR var rc, wc : integer; R, W : condition; define start_read, end_read, start_write, end_write; use wait, signal, check, release; 汉森管程实现读者写者问题(3) ?procedure start-read; begin check(IM); if wc0 then wait(R,IM); rc := rc + 1; signal(R, IM); release(IM); end; procedure end-read; begin check(IM); rc := rc - 1; if rc=0 then signal(W,IM); release(IM); end; 汉森管程实现读者写者问题(4) ?procedure start_write; begin check(IM); wc := wc + 1; if rc0 or wc1 then wait(W,IM); release(IM); end; procedure end_write; begin check(IM); wc := wc - 1; if wc0 then signal(W,IM); else signal(R, IM); release(IM); end; 汉森管程实现读者写者问题(5) 初始化语句 begin rc := 0; wc := 0; R := 0; W := 0; end; 汉森管程实现读者写者问题(6) cobegin process reader begin …… call read-writer.start-read; read; …… call read-writer.end-read; end; process writer begin …… call read-writer.start-write; write; …… call rear-writer.end-write; end; coend; 汉森管程实现苹果橘子问题(1) 桌上有一只盘子,每次只能放入一只水果,爸爸专向盘中放苹果,妈妈专向盘中放橘子,一个儿子专吃盘中橘子,一个女儿专吃盘中苹果 汉森管程实现苹果橘子问题(2) TYPE FMSD = MONITOR var plate : (apple, orange); full : boolean; SP, SS, SD : condition; define put, get; use wait, signal, check, release; 汉森管程实现苹果橘子问题(3) procedure put(var fruit:(apple, orange)); begin check(IM); if full then wait(SP,IM); full := true; plate := fruit; if fruit=orange then signal(SS,IM); else signal(SD,IM); release(IM); end; 汉森管程实现苹果橘子问题(4) procedure get(varfruit:(apple,orange),x:plate); begin check(IM); if not full or platefruit then begi
您可能关注的文档
最近下载
- 部编版(2025)小学语文六年级上册单元综合训练试题全册.docx
- 2026年在带头固本培元、增强党性等五个带头方面对照检查存在的问题、整改措施材料6份文.docx VIP
- 冰川雪山攀登技巧心得分享心得总结.docx VIP
- 小森印刷机s40操作说明.pdf VIP
- 8篇2026年带头固本培元、增强党性(五个带头)方面存在的问题精选.docx VIP
- 翼状胬肉病人护理精品PPT课件.pptx
- 2026年河北省职业病诊断医师资格(尘肺病类)高分突破必练试题库(含答案).docx
- 2024中医临床实践指南穴位埋线减肥.docx VIP
- 人教PEP版五年级下册英语全册教案(单元整体教学设计).docx VIP
- 2025年贵州省公务员考试题及答案解析.docx
原创力文档

文档评论(0)