社区
C++ 语言
帖子详情
请问如何用C++实现缓存?
rabbit729
2007-12-24 11:35:42
我有两个线程,线程A负责产生数据,线程B负责向终端输出数据,由于产生数据的速度比较慢,所以在这两个线程之间采用缓存来解决。线程A将产生的数据写入缓存,当存放一定数据后通知线程B从缓存中读出数据送给终端设备。在整个流程中要求线程A和线程B处于稳定状态,也就是说线程A一边向缓存中放数据,线程B一边向缓存中取数据,并且需要达到平衡状态,也就要求线程B不能空。请问我应该采用什么样的数据结构来实现这个缓存比较合适?我想用队列来实现,不知大家的意见如何?谢谢大家!
...全文
605
11
打赏
收藏
请问如何用C++实现缓存?
我有两个线程,线程A负责产生数据,线程B负责向终端输出数据,由于产生数据的速度比较慢,所以在这两个线程之间采用缓存来解决。线程A将产生的数据写入缓存,当存放一定数据后通知线程B从缓存中读出数据送给终端设备。在整个流程中要求线程A和线程B处于稳定状态,也就是说线程A一边向缓存中放数据,线程B一边向缓存中取数据,并且需要达到平衡状态,也就要求线程B不能空。请问我应该采用什么样的数据结构来实现这个缓存比较合适?我想用队列来实现,不知大家的意见如何?谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dtor
2007-12-25
打赏
举报
回复
既然a线程慢,b线程快,那必然会出现b等待的状况。
你这样的情况,用队列当然是最好的。
rabbit729
2007-12-24
打赏
举报
回复
to:foochow:
ACE_Message_Queue 这个是个???是MFC的类么?还是??
foochow
2007-12-24
打赏
举报
回复
ACE_Message_Queue 可以参考这个的实现,很简单
laolaoliu2002
2007-12-24
打赏
举报
回复
把数据存在队列里面
babyvox1999
2007-12-24
打赏
举报
回复
FIFO
lenux
2007-12-24
打赏
举报
回复
由于产生数据的速度比较慢, 线程B必然会有取不到数据的时候,
“要求线程B不能空”??
ouyh12345
2007-12-24
打赏
举报
回复
队列就可以了
p0303230
2007-12-24
打赏
举报
回复
up
m_syb
2007-12-24
打赏
举报
回复
A/B线程应该通过一个信号进行通讯
B在通常状态下,等待信号
A接收数据,当判断需要触发B的时候,设置信号状态,
则B开始工作,完成当前的工作后,继续等待信号
建议采用双缓冲,这样可以保护双线程读写数据不发生冲突
wpalhm
2007-12-24
打赏
举报
回复
up!
flysky_zhou
2007-12-24
打赏
举报
回复
搜索下生产者消费者模式....................
C/
C++
实现
mysql数据库的
缓存
管理
C/
C++
实现
mysql数据库的
缓存
管理 Linux下用C/
C++
写一个提高mysql数据库效率的数据
缓存
模块
缓存
管理 window下用C/
C++
写一个提高mysql数据库效率的数据
缓存
模块 C/
C++
mysql
缓存
缓存
PS:记得要先把数据库给搭建起来
C++
数据结构与算法之双
缓存
队列
实现
方法详解
主要介绍了
C++
数据结构与算法之双
缓存
队列
实现
方法,结合实例形式分析了双
缓存
队列的原理、
实现
方法与相关注意事项,需要的朋友可以参考下
C++
11 14 17 20 多线程从原理到线程池实战
学习计划 每天学习一小时以上 跟着视频动手编写代码 调试代码并对比课程多提供的源码 课程目标 理解多线程原理并学会
c++
11 的多线程编程 理解线程池技术原理并能使用
c++
实现
理解
c++
11 14 17 20 多线程编程相关特性 常见问题 课程使用的开发工具? 课程使用的开发工具是vs2019 课程代码是否是跨平台? 课程代码都是基于
c++
自生特性,没有用到第三方库,都是跨平台 旧版本的开发工具是否可以? 课程中的大部分代码是
c++
11 ,绝大部分开发工具都支持,其中
c++
14 17要比较新的工具支持,
c++
20需要vs2019 课程是否提供源码? 课程提供源码,方便同学学习过程的出现问题,进行对照调试错误。
高速
缓存
调度问题
C++
实现
(opt方法)
高速
缓存
调度问题的
C++
实现
代码,采用最优的opt方法。代码注释详实,可读性好。
C-
C++
实现
mysql数据库的
缓存
管理【附带编译及使用说明】
C/
C++
实现
mysql数据库的
缓存
管理 Linux下用C/
C++
写一个提高mysql数据库效率的数据
缓存
模块
缓存
管理 window下用C/
C++
写一个提高mysql数据库效率的数据
缓存
模块 C/
C++
mysql
缓存
缓存
PS:记得要先把数据库给搭建起来
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章