首页   注册   登录
 imiao 最近的时间轴更新
imiao

imiao

V2EX 第 420820 号会员,加入于 2019-06-11 20:37:27 +08:00
imiao 最近回复了
4 天前
回复了 chaleaoch 创建的主题 程序员 jetbrains 出了一款开源字体
切到 FiraCode 后就没换其它的,连笔很有意思,这个新的可以试试
我也不会手写汉子
@AslanFong 我在合肥的,听同事说 zoom 待遇不错,就是学历要求比较高,进去比较困难。
22 天前
回复了 deepmindlab 创建的主题 2019 四个字总结 2019,四个字瞭望 2020
买到房子,脱离单身
富有科技感公司
47 天前
回复了 imiao 创建的主题 C++ 请教 C++多线程操作 deque 遇到的一个问题
已经解决,通过队列加长的方式
54 天前
回复了 licoycn 创建的主题 程序员 这个网站作者真优秀
mi6 流畅运行
54 天前
回复了 imiao 创建的主题 C++ 请教 C++多线程操作 deque 遇到的一个问题
@araraloren 不行,线程 B 要一直运行等待某个条件
55 天前
回复了 imiao 创建的主题 C++ 请教 C++多线程操作 deque 遇到的一个问题
感谢 v 友们热心的回复。
@augustheart A 线程是持续向队列插入数据,获取不到锁的时候数据不能丢,所以当获取不到锁不能简单就跳过
@nightwitch 项目没有引入 boost,嫌弃有点大:)
@liuminghao233 B 线程仅在拷贝这一步加一下锁,这样 A 线程阻塞的时间非常短,我可以试试
@top1ms 1.队列中的数据只有实时的才有用,过期数据就丢弃了。2.生产端生产的数据是复用同一块内存的,通过拷贝存到队列里,而且队列固定长度,所以不会数据堆积。3.B 线程需要取得的数据是某一时间点队列中所有数据的拷贝。4.在 A 线程没有获取到锁时,临时将数据存到别的地方,单独开启一个线程 C 处理临时数据就无法满足 3。5.我有考虑把临时数据再插回队列里去,但因为 B 线程的触发条件不确定,不好确定临时数据插哪以及是否已经过期。
@alphaprogrammer 大佬,我看了下环形缓冲区的介绍,似乎可以很好地解决我的问题。。。我去写代码了。
@laminux29 这倒也给了我一个思路,将队列的长度加长大于 N,比如 2N,这样 B 在取数据的时候可以取队列中间的一段,至少可以某种程度上避免取出来的数据已经被回收的尴尬。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2421 人在线   最高记录 5168   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 13ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
♥ Do have faith in what you're doing.