- 42
- 0
- 约5.18千字
- 约 9页
- 2018-11-18 发布于湖北
- 举报
操作系统生产跟消费者问题
生产者和消费者问题
1、有n个缓冲区,一个生产者和一个消费者情况:
main ()
{ int S=1; //可否进入缓冲区
int full=0; //产品数目
int empty=n //可用缓冲区数
int buffer[n];
int in=0; //指向下一个可放产品的缓冲区
int out=0; //指向下一个可取产品的缓冲区
producer();
consumer();
}
producer()
{
While(生产未结束)
{ produce a product
P(empty);
P(S);
Buffer[in]= product;
in=(in+1)mod n;
V(S);
V(full);
}
}
consumer()
{
While(消费未结束)
{ P(full);
P(S);
Take a product from Buffer[out]
Out=(out+1)mod n;
V(S);
V(empty);
}
Consume the product
}
2、 m个生产者和k个消费者共享n个缓冲区的情况:
main()
{
int B[n]; //缓冲区
int p=r=0;
您可能关注的文档
最近下载
- 苏教版六年级下册期中检测卷.docx VIP
- 2026贵州农商联合银行第一批开招聘中层管理人员18人备考题库及一套完整答案详解.docx VIP
- 国开电大《财务大数据分析与决策》-编程作业2.docx VIP
- 对话诺奖大师(美国加州理工学院)超星尔雅学习通章节测试答案.doc VIP
- 经销商糖酒会管理资料.pptx VIP
- 2026贵州农商联合银行第一批招聘中层管理人员18人备考题库附答案详解.docx VIP
- 2025年清华大学827电路原理专业课考研真题回忆版及解析.docx
- 2026贵州农商联合银行第一批招聘中层管理人员18人备考题库完整参考答案详解.docx VIP
- 2025年长沙小升初数学分班考试真题真卷.pdf VIP
- 2025年高考真题 山东历史-试题(含答案).pdf VIP
原创力文档

文档评论(0)