腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
将
循环
缓冲区
与
无
锁
的
写
和
读
操作
同步
、
、
、
、
我有一个
循环
缓冲区
,可以存储图像帧,比如说30帧,还有一个线程可以自己
写
缓冲区
。有一个主线程从
缓冲区
读取数据,并将数据复制到另一个
缓冲区
。 问题是我不能使
循环
缓冲区
与
写
和
读
操作
同步
。我无法锁定
循环
缓冲区
,因为
写
操作
是由我没有访问权限
的
线程完成
的</e
浏览 11
提问于2017-08-19
得票数 1
2
回答
具有非原子读写
的
环形
缓冲区
。
、
、
、
、
如果
缓冲区
中
的
数据可以用原子方式读取或写入,则写入
无
锁
、
无
等待
的
SPSC环形
缓冲区
是直接
的
。但是,在许多情况下,
缓冲区
需要在多个
操作
中读取,或者需要通过多个
操作
来编写。如何实现SPSC
无
锁
环
缓冲区
?(目标是让
循环
缓冲区
在溢出时覆盖最老
的
数据,而不是块。) 假设条目N
的
读取正在
浏览 13
提问于2022-03-20
得票数 1
2
回答
寻找一种
无
锁
的
RT安全单读取器结构
、
、
我正在寻找符合以下要求
的
无
锁
设计: a 单
写
器写入结构,单读取器从该结构中读取(该结构已经存在,并且对同时使用
的
来说是安全
的
),结构需要由写入器进行更改,然后由写入器初始化、切换并写入一个新结构(具有相同类型但有新内容)<code>H 113</code>,下次读取器读取时,它<code>E 114</code>开关<code>E 215</code>到这个新结构(如果写入器多个开关到一
浏览 3
提问于2010-02-25
得票数 6
1
回答
如何
将
StoreStore屏障映射到x86下
的
指令?
、
通常,在处理器上需要StoreStore屏障,否则不能保证从
写
缓冲区
和
/或缓存到其他处理器或主内存
的
刷新
的
严格顺序。而且,从食谱中我们知道,对于
同步
块,Java编译器
将
插入一些障碍以防止可能
的
重新排序:[LoadLoad] <==inserted barrier [LoadStore]<=更详细地说,x86确实使用了存储
缓冲区
,因此为了使在关键部分执行
的
写</
浏览 3
提问于2016-02-10
得票数 2
回答已采纳
1
回答
理解互斥
锁
、
我正在阅读关于ReadWriteLock
的
文档 读写
锁
是否会比使用互斥
锁
提高性能取决于
与
被修改相比数据被读取
的
频率、
读
和
写
操作
的
持续时间以及对数据
的
争用--即尝试同时读取或写入数据
的
线程数。“互斥
锁
”是什么意思?这是否意味着我们一次只能执行一次
操作
(
读
或
写
)?例如,只是一个
同步
块。
浏览 0
提问于2015-07-08
得票数 1
回答已采纳
1
回答
C# redis对mongodb性能
的
影响
、
、
、
我正在研究不同
的
nosql缓存/数据库。 Console.WriteLine(ret.Count); }当我
将
10000项列表插入到这两个列表中时,我将得到Redis: 0.26
写
浏览 3
提问于2013-11-20
得票数 2
2
回答
同时
读
字典可以吗?
、
有一个并发读写
操作
的
ConcurrentDictionary类型。因为我
的
场景中只有
读
操作
,所以我想知道只使用“字典”是否可以?顺便说一句,ConcurrentDictionary是如何通过多线程为R/W服务
的
?它是否隐式地使用某种
锁
来使所有R/W
操作
序列化?
浏览 3
提问于2014-07-05
得票数 37
1
回答
使用加载链接/存储条件
的
无
锁
C++11示例来防止阿坝?
、
、
、
、
当使用比较
和
交换(CAS)技术编写
无
锁
代码时,有一个称为ABA问题
的
问题: 在计算机科学中,负载链路
和
存储条件(LL/SC)是多线程实现
同步
的
一对指令。link返回内存位置的当前值,而对同一内存位置
的
后续存储条件只有在自加载链接后该位置没有发生任何更新时才会存储
浏览 1
提问于2014-05-30
得票数 3
2
回答
ReaderWriteLockSlim或锁定
、
、
、
、
这就是我要做
的
: { { }我
的
问题是
同步
,就我在书中读到
的
,
锁
比其他
同步
方法更快。性能是我关注
浏览 8
提问于2011-10-01
得票数 3
回答已采纳
2
回答
par_unseq
和
“向量化-不安全”函数
、
、
、
、
正因为如此,使用类似互斥
的
东西会因为指令
的
重新排序而导致死锁。 但是,像compare_exchange
循环
这样
的
无
锁
原子算法呢?或者是没有等待
的
原子算法,比如原子引用计数机制?因此,用户不允许分配或释放内存、获取互斥、使用非锁定
的
std::原子专门化,或者通常在使用这些策略时执行任何向量化
操作
(向量化-不安全函数是
将
另一个函数(例如,synchronize-with
同步
)
与
下一个
浏览 5
提问于2020-01-05
得票数 4
1
回答
线程中
的
条件变量
和
释放多个
锁
、
、
、
、
如果这是个微不足道
的
问题,对不起。但我哪儿也找不到答案。我正在编写一个程序,它使用p线程。一个线程获取一个
锁
(互斥
锁
),然后尝试
将
数据推送到
同步
缓冲区
中。
缓冲区
有自己
的
互斥体,一旦调用push()方法,就会获得互斥
锁
。 如果
缓冲区
已满,并且线程需要等待条件变量,等待调用会释放所有获得
的
锁
吗?还是只释放
与
条件变量关联
的
锁
(这恰好是
浏览 3
提问于2013-10-28
得票数 0
回答已采纳
2
回答
我是否不想使用
读
/
写
锁
而不是普通
的
互斥
锁
?
、
、
、
、
当
同步
访问共享资源时,是否有理由不使用
读
/
写
锁
而不是普通
的
互斥
锁
(这基本上只是一个
写
锁
),除了它具有比我可能需要
的
更多特性
的
哲学原因吗?换句话说,如果我只是默认地
将
读
/
写
锁
作为我首选
的
同步
结构,那么我是在朝自己开枪吗?在我看来,总是选择
读
/
写
<e
浏览 2
提问于2016-09-14
得票数 6
回答已采纳
3
回答
如果在获取互斥
锁
之后发生中断会发生什么?
、
、
、
、
为了
同步
目的,我使用了一个互斥
锁
和解锁。所有
读
和
写
线程在执行
操作
之前都会获得
锁
。如果一个线程获得
锁
,并且在释放
锁
之前发生中断,会发生什么情况?线程
将
继续执行,还是我必须手动处理它?
浏览 5
提问于2014-03-06
得票数 3
回答已采纳
1
回答
C++并发性:互斥外部
的
变量可见性
、
我为下面令人费解
的
代码道歉,因为我已经去掉了处理reader是否决定某些数据是否过时
的
逻辑。需要注意
的
重要一点是,99.9%
的
时间里,读者会使用fast path,
同步
必须非常快,这就是为什么我使用原子int32来传达陈旧
和
是否现在需要慢速路径。这是因为虽然我
的
代码排除了竞态(据我所知),但在loader()写入时,mSharedObject只受到互斥
锁
的
保护。因为reader()需要非常快(如上所述),所以我不希望它对mShared
浏览 0
提问于2016-10-07
得票数 3
1
回答
进程可以通过干扰其比较交换
循环
而成为DoSed吗?
考虑由多个进程访问
的
文件;进程
将
文件映射到内存,然后使用
无
锁
操作
进行
同步
(例如,使用原子添加来分配要写入
的
文件中
的
偏移量)。 原子
操作
可能是
无
锁
的
,但不是没有等待
的
。例如,在x86上,原子-max将被实现为一个比较-交换
循环
(获取以前
的
值,计算新
的
最大值,比较-交换,如果以前
的
值发生变化,则重
浏览 0
提问于2019-03-25
得票数 0
4
回答
无
锁
队列--单个生产者,多个消费者
、
、
、
我正在寻找一种方法来实现
无
锁
队列数据结构,支持单个生产者
和
多个消费者。我看过Maged
和
Michael Scott (1996)
的
经典方法,但他们
的
版本使用了链表。我想要一个使用有界
循环
缓冲区
的
实现。使用原子变量
的
东西? 顺便说一句,我不确定为什么这些经典方法是为需要大量动态内存管理
的
链表设计
的
。在多线程程序中,所有内存管理例程都是序列化
的
。我们不是因为
将
浏览 1
提问于2010-04-24
得票数 17
1
回答
用C语言实现双
缓冲区
、
、
、
、
所以我
的
数据采集率非常高,达到了16MB/s。我从设备文件中读取4MB
的
数据到
缓冲区
中,然后对其进行处理。然而,这种先写后读
的
方法对项目来说太慢了。我想用C实现一个双
缓冲区
。为了简化我
的
双
缓冲区
概念,为了简单起见,我决定不包括从设备文件读取。我创建
的
是一个C程序,它产生两个独立
的
线程readThread
和
writeThread。我让readThread调用了交换
缓冲区
指针
的</em
浏览 73
提问于2017-01-31
得票数 5
回答已采纳
5
回答
单作者多读取器线程中
的
交换
缓冲区
、
、
、
、
通常
的
解决方案是使用两个读取器
锁
和
两个
缓冲区
,如下所示:acquire lock 0 write tofree this lock write to current buffer问题 在这两种方法中,如果获取其他
锁
操作
失败,则不执行任何交换,并且写入器
将
覆盖其先前
的</
浏览 0
提问于2011-10-18
得票数 5
回答已采纳
2
回答
原子是否
与
互斥
锁
释放
同步
?
、
、
、
、
我有一个对象,它用字符串键
和
变体值在unordered_map中存储一些设置。由于我
的
库可能从几个线程中使用,并且读取
的
数量很可能会大大超过写入,所以我考虑了一个在写实现上
的
副本,其中"get“
操作
是
无
锁
的
,而"put”
操作
处于关键部分,如示例中所示: }
浏览 3
提问于2020-06-08
得票数 0
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
云直播
活动推荐
运营活动
广告
关闭
领券