同步规范------生产者与消费者(二)
来源:互联网 发布:python 接收post数据 编辑:程序博客网 时间:2024/06/18 00:23
the producer-consumer problem
the bonded-buffer problem
两个进程共享一个大小为N的缓冲区----其中一个进程向里面填充数据(生产者),另外一个进程负责从里面读取数据(消费者):
问题的核心:
当缓冲区满的时候,禁止生产者继续添加数据,直到消费者 读取了部分的数据之后;
当缓冲区空的时候,消费者应该等待对方继续生产之后在执行操作。
S_emptyCount:用于生产者获得获得可用的缓冲区的额空间的大小,初始值为N
S_fillCount用于消费者获取可用的数据的大小,初始值为0;
m_mutex:用于操作缓冲区,初始值为1
对于生产者 :
Produce_item
P(S_emptyCount)
P(S_mutex)
Put+item_to_buffer
V(s_mutex)
V(S_fillCount)
对于消费者
P (S_fillCount)
P (s_mutex)
Read_item_from_buffer
V(S_mutex)
V(S_emptyCount)
Consume
0 0
- 同步规范------生产者与消费者(二)
- 生产者与消费者(二)
- 线程同步(消费者与生产者)
- C#生产者与消费者问题(二)
- 生产者与消费者模型(二)
- 资源同步与互斥问题(生产者与消费者)
- 经典同步问题(一)---生产者与消费者问题
- 生产者与消费者模型(数据错位解决办法:同步方法)
- java模拟生产者与消费者问题(线程同步)
- 互斥与同步---生产者与消费者
- 同步线程--生产者与消费者模式
- 经典进程同步问题-生产者与消费者
- 消费者与生产者线程同步程序
- C#生产者与消费者问题 线程同步
- java多线程同步:生产者与消费者问题
- synchronized2:生产者与消费者的同步
- 线程同步-生产者与消费者问题
- 简单生产者与消费者同步解决方案
- iOS中使用脚本打包项目
- Pixhawk编译环境搭建-Ubuntu
- MSSqlserver 恢复sa密码及 删除builtin\administrators后恢复
- 网络直播监管趋严,主播们最终的出路在哪?
- Android WebView页面结束后视频播放还有声音问题处理
- 同步规范------生产者与消费者(二)
- hdu1394——Minimum Inversion Number(线段树求逆序数)
- 知识点——派生类生成过程——单继承的构造函数和析构函数
- 调用camera拍照指定路径后删除图库中存在的照片
- ubuntu 安装 kvm
- centos6.5安装 redmine安装脚本 3.3.0版本
- IntelliJ IDEA 创建spring mvc项目(图)
- idea出现的怪异现象
- spark sql on hive