* monitor ringbuffer; var rbuffer:array [0.. n-1] of item; k ,nextempty,nextfull:integer; empty,full:condition; procedure entry put (var product:item); begin if k=n then wait(empty); rbuffer[nextempty]:=product; k:=k+1; nextempty:=(nextempty+1) mod(n); signal(full); end; procedure entry get(var goods:item); begin if k =0 then wait(full); goods:=rbuffer[nextfull]; k:=k-1; nextfull:=(nextfull+1) mod(n); signal(empty); end; begin k := 0; nextempty:=0;nextfull:=0; end; producer: begin repeat produce an item ; ringb
您可能关注的文档
最近下载
- 金陵科技学院《工程制图》专转本考试试卷(含答案).pdf VIP
- 医疗机构医用耗材管理规范(国药监械管〔2025〕61号,附解读).docx VIP
- 四年级国测德育模拟试卷.docx VIP
- 4,测定焊缝(通用)探伤仪斜探头折射角和声轴偏斜角.doc VIP
- 腹腔内窥镜手术系统注册审查指导原则 第4部分:风险管理2025.docx VIP
- 卫生健康行业数据分类分级指南(试行).pdf VIP
- JB_T 10088-2016 6kV~1000kV级电力变压器声级.pdf VIP
- 2026全球及中国薄晶圆临时键合设备和材料行业需求动态与前景趋势预测报告.docx
- 美术专业个人简历制作与面试技巧.docx VIP
- 开鲁县污水排放站危废暂存库改造项目环境影响报告表.doc VIP
原创力文档

文档评论(0)