- 17
- 0
- 约1.41万字
- 约 139页
- 2016-12-25 发布于广东
- 举报
我们可利用一个数组来表示上述的具有n个(0,1,…,n-1)缓冲单元的缓冲区。用输入指针in作写指针,每当生产者进程生产并投放一个产品后,输入指针加1;用一个输出指针out作读指针,每当消费者进程取走一个产品后,输出指针加1。由于缓冲区通常被组织成循环队列,故应把写指针加1表示成 in:=(in+1)mod n;读指针加1表示成out:=(out+1) mod n。当(in+1) mod n=out时表示缓冲区满;而in=out则表示缓冲区空。 此外,还引入了一个整型变量counter, 其初始值为0。每当生产者进程向缓冲区中投放一个产品后,使counter加1;反之,每当消费者进程从中取走一个产品时,使counter减1。 2 问题分析 生产者和消费者两进程共享下面的变量: int n,buffer[n]; int in,out; //in∈[0,n-1],out∈[0,n-1] int count; // count∈[0,n] 3 利用整型信号量解决PC问题 void producer() { produce an item in nextp; while(counter)=n do no-op; buffer[in]:=nextp; in:=(in+1) mod n; counter:=counter+1; };
您可能关注的文档
- 自动控制系统计算机仿真作者张晓江黄云志第1章课件.ppt
- 自动控制系统计算机仿真作者张晓江黄云志第2章课件.ppt
- 自动控制系统计算机仿真作者张晓江黄云志第3章课件.ppt
- 自动控制系统计算机仿真作者张晓江黄云志第4章课件.ppt
- 自动控制系统计算机仿真作者张晓江黄云志第5章课件.ppt
- 自动线安装与调试作者盛靖琪陈永平1-1自动线的认识(核心知识)课件.ppt
- 自动线安装与调试作者盛靖琪陈永平1-2自动线的认识(拓展知识)课件.ppt
- 自动线安装与调试作者盛靖琪陈永平2-1供料单元(核心知识)课件.ppt
- 自动线安装与调试作者盛靖琪陈永平2-2供料单元(拓展知识)课件.ppt
- 自动线安装与调试作者盛靖琪陈永平3-1加工单元(核心知识)课件.ppt
原创力文档

文档评论(0)