- 5
- 0
- 约 5页
- 2016-11-29 发布于重庆
- 举报
经典同步进程问题
1、生产者-消费者问题
?? 问题描述是:有一群生产者进程在生产产品,此产品提供给消费者去消费。为使生产者和消费者进程能并发执行,在它们之间设置一个具有n个缓冲池,生产者进程可将它所生产的产品放入一个缓冲池中,消费者进程可从一个缓冲区取得一个产品消费。
?? 问题分析: 设两个同步信号量:一个说明空缓冲区的数目,用empty表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用full表示,初值为0。由于在执行生产活动和消费活动中要对有界缓冲区进行操作。有界缓冲区是一个临界资源,必须互斥使用,所以另外还需要设置一个互斥信号量mutex,其初值为1。
semaphore mutex=1,empty=n,full=0;item buffer[n];?? //缓冲区int in=out=0;?? //输入、输出指针void producer()??
{????
?????while(1)
????{????
????…???? 生产一个产品nextp;????…????wait(empty);? //等待空缓冲区的数目非0????wait(mutex);? //等待无进程操作缓冲区????
????buffer[in]= nextp; //往Buffer [in]放产品????in = (in+1) mod n;????signal(mutex);? //允许其
您可能关注的文档
最近下载
- (高清版)B-T 18233.1-2022 信息技术 用户建筑群通用布缆 第1部分:通用要求.pdf VIP
- GSM-19T_v7_操作手册.pdf VIP
- 机械设计基础(第七版)杨可桢课后习题答案详解.pdf
- 2024下半年四川乐山市五通桥区事业单位考试招聘24人笔试备考题库及答案解析.docx VIP
- 医疗康养中心项目建议书.docx
- 华中科技大学2021-2022学年《财政学》期末考试试卷(B卷)附标准答案.docx
- 国开 电大计算机应用基础 终结性考试试题及答案.docx
- MSDS-PBT-长春 物质资料表.pdf VIP
- 海南电梯询价.doc VIP
- TSGT5002-2023年电梯维护保养规则.docx
原创力文档

文档评论(0)