进程通信 生产者-消费者问题?

智能高科 2009-03-29 09:16:11
生产者代码:
While (Count= =Buffer_SIZE)
++Count; //增加一项至缓冲区
Buffer[in]=item;
in=(in++)%Buffer_SIZE);

消费者代码:
While(count= =0)
--Count; //从缓冲区减去一项
item=Buffer[out];
out=(out+1)%Buffer_SIZE;

其中指针in来指示下一个可存放消息的缓冲区,每存放一个消息,in+1。
指针out来指示下一个可获得消息的缓冲区,每当取走一个消息后,输出指针out+1。
由于缓冲池是循环缓冲,因此输入指针in=(in++)%Buffer_SRE,输出指针out=(out++)%Buffer_SRE。
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysysbaobei 2009-03-30
  • 打赏
  • 举报
回复
智能高科 2009-03-29
  • 打赏
  • 举报
回复
While (Count= =Buffer_SIZE)
++Count;这个怎么解释呀?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧