腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(6960)
视频
沙龙
2
回答
如何评估
无
锁
队列
的性能?
、
、
、
我已经使用中解释的危险指针方法
实现
了一个
无
锁
队列
,使用了用于
实现
的GCC CAS指令和用于线程本地结构的pthread本地存储。我现在正在尝试评估我编写的代码的性能,特别是我正在尝试将此
实现
与使用
锁
(pthread mutexes)来保护
队列
的
实现
进行比较。我之所以在这里问这个问题,是因为我试着将它与“锁定”
队列
进行了比较,我发现与
无
锁
实现
相比,这具有更好的性能。
浏览 8
提问于2011-09-27
得票数 3
回答已采纳
2
回答
如果不为空,则释放
锁
队列
入队
、
、
、
我已经使用基于的比较和交换用C语言
实现
了一个
无
锁
队列
。由于
队列<
浏览 0
提问于2011-05-03
得票数 2
1
回答
无
锁
数据结构中的非POD类型
、
、
、
我想为非POD数据类型编写
无
锁
代码;也就是说,非平凡的可销毁类和非平凡的可构造类。 例如,我需要从非POD类型的多生产者、多消费者
无
锁
队列
中推入/弹出。boost::lockfree::queue
实现
似乎是我所能找到的最适合生产的实时友好
实现
,它要求
队列
的模板类型是普通的可销毁/可构造的。我可以重构我的团队的10,000行代码库,以便在我关心的每个类中将状态与副作用分开,然后使用新POD状态的Boost
无
锁
浏览 0
提问于2015-12-01
得票数 4
5
回答
无
锁
队列
中的内存管理
、
我们一直希望在代码中使用一个
无
锁
队列
来减少当前
实现
中单个生产者和使用者之间的
锁
争用。有很多
队列
实现
,但我还不太清楚如何最好地管理节点的内存管理。由于我们使用的是池,因此需要向内存池添加另一个
锁
,以正确地保护它。这似乎一开始就否定了无
锁
队列
的性能优势。
实现
一个
无
锁
内存池.我们试图避免
实现
一个
无</em
浏览 2
提问于2011-06-23
得票数 6
回答已采纳
5
回答
循环缓冲区
队列
中的
无
锁
进度保证
、
、
、
、
有趣的是,我发现很多程序员错误地认为“
无
锁
”仅仅意味着“没有互斥的并发编程”。通常,还有一个相关的误解,即编写
无
锁
代码的目的是为了获得更好的并发性能。当然,
无
锁
的正确定义实际上是关于进度保证的。
无
锁
算法保证至少有一个线程能够向前推进,而不管其他线程在做什么。 这意味着没有
锁
的算法永远不会有一个线程依赖另一个线程来继续执行的代码。例如,
无
锁
代码不能出现线程A设置标志的情况,然后线程B在等待线程A取消设
浏览 3
提问于2017-08-27
得票数 30
回答已采纳
3
回答
免费的标准集合和教程或文章
、
、
、
、
有没有人知道一个很好的资源来
实现
无
锁
的普通数据类型(也就是源代码)。我在想列表,
队列
等等? 锁定
实现
非常容易找到,但我找不到
无
锁
算法的示例,也找不到CAS如何工作以及如何使用它来
实现
这些结构。
浏览 0
提问于2009-11-13
得票数 4
回答已采纳
1
回答
是否存在有界
无
锁
阻塞
队列
?
、
LinkedBlockingQueue可以是有界的,但它使用
锁
。 ConcurrentLinkedQueue不使用
锁
,但它不是有界的。而且它不会阻塞,这使得它很难轮询。显然,我不能让一个既阻塞又
无
锁
的
队列
(等待自由或非阻塞或其他)。我不要求学术上的定义。有没有人知道一个
队列
实现
,它基本上是
无
锁
的(不在热路径中使用
锁
),在空的时候阻塞(不需要忙碌等待),并且是有界的(满的时候阻塞)?堆外解决方案也是受欢迎的。我听说过L
浏览 0
提问于2017-09-29
得票数 3
2
回答
没有链表的
无
锁
编程
、
、
然而,我所见过的几乎所有无
锁
数据结构的例子都使用了链接列表。例如,C++并发性和多处理器编程艺术在
实现
无
锁
堆栈和
队列
时都使用链接列表。在设计
无
锁
容器(如堆栈和
队列
)时,是否有更好的替代链接列表的方法?
浏览 4
提问于2016-12-08
得票数 4
1
回答
无
锁
FIFO
队列
实现
、
、
、
这个
实现
线程安全吗? 谢谢。
浏览 0
提问于2017-03-24
得票数 4
2
回答
原子变量是
无
锁
的吗?
、
、
、
、
当我们讨论原子变量时,比如C++11的atomic<>,它是
无
锁
的吗?或者,
无
锁
是不同的吗?如果我用原子变量管理一个
队列
,它会比一个
无
锁
队列
慢吗?
浏览 0
提问于2012-04-11
得票数 42
回答已采纳
1
回答
真正的
无
锁
MPMC环缓冲器?线程能够互相帮助以避免阻塞吗?
、
、
、
所示的代码并不是完全无
锁
的。当
队列
不为空或未满时,每当挂起写入线程时,读取器线程将返回false,从而阻止整个数据结构取得进展。 我看了一些代码,它们也有类似的问题。使用繁忙的等待,而不是
无
锁
。
浏览 14
提问于2022-04-03
得票数 2
回答已采纳
5
回答
如何构建
无
锁
队列
?
、
、
、
我花了一整天的时间研究
无
锁
队列
。我有多个生产者,多个消费者的情况。为了测试,我在Win32下
实现
了一个使用互锁SList的系统,它将我的基于任务的重线程代码的性能提高了一倍。我不确定微软的
实现
是如何在幕后工作的,我很想知道更多。除此之外,我很想知道是否有可能
实现
一个
无
锁
的向量。这对我有很大的用处:)干杯!编辑:读过herb的DDJ文章后,我可以看到一个简化的
锁
队列
浏览 44
提问于2009-11-13
得票数 16
回答已采纳
1
回答
售票
锁
是免费的吗?(根据某些假设)
、
、
我正在讨论一个票证
锁
,它看起来可能如下(在伪C语法中):我认为是这样,因为船票
锁
是公平的,因此等待的上限是O(p * c)。 我会犯错吗?我有点困惑。我一直认为锁定意味着不需要等待,因为以下语句:“不可能从一组原子寄存器构建
队列
、堆栈、优先级
队列
、set或list的
无
浏览 2
提问于2011-10-11
得票数 3
回答已采纳
3
回答
如何实施ABA解决方案?
、
、
、
、
我正在尝试从
实现
Michael-Scott FIFO
队列
。我无法
实现
他们对ABA问题的解决方案。我得到了这个错误。另一个问题是,是否有更好(更快)的
无
锁
fifo
队列
实现
?我偶然发现了Nir Shavit等人的,这似乎很有趣。我想知道其他人是否也看到过类似的努力?谢谢。
浏览 8
提问于2012-06-06
得票数 0
3
回答
实现
无
锁
队列
(用于Logger组件)
、
、
、
、
我想使用一个
无
锁
的
实现
。这能以
无
锁
的方式
实现
吗?我在网上找不到直接提到这个问题的地方。
浏览 7
提问于2012-01-04
得票数 2
回答已采纳
6
回答
是否存在多个读或写线程的
无
锁
队列
?
、
、
我在想,当多个线程正在读或写时,是否可能有一个
无
锁
的
队列
?我已经看到了一个没有
锁
队列
的
实现
,它可以处理一个读线程和一个写线程,但两者都不能超过一个。有可能吗?我不认为是这样。有人想证明吗?
浏览 14
提问于2010-06-11
得票数 9
回答已采纳
1
回答
无
锁
队列
轮询最快的
无
竞争方法是什么?
、
、
、
、
假设我们有一个单生产者线程的单用户线程
无
锁
队列
,并且生产者可以长时间运行而不产生任何数据。当
队列
中没有任何东西时,让使用者线程休眠将是有益的(为了节省电力和为其他进程/线程释放CPU )。如果
队列
不是
无
锁
的,那么解决此问题的简单方法是让生成线程锁定互斥
锁
,完成其工作,发送条件变量并解锁,以及读取线程锁定互斥
锁
,等待条件变量,执行其读取,然后解锁。但是,如果我们使用的是
无
锁
队列</e
浏览 1
提问于2010-11-21
得票数 6
2
回答
C#中的一种
无
锁
优先级
队列
、
、
我最近一直在搜索有关如何在C#中构造
无
锁
优先级
队列
的信息。我甚至还没有找到任何语言的
实现
,或者关于这个问题的一篇像样的论文。我发现了几篇论文,它们看起来像是副本,或者至少引用了一篇特定的论文,这篇论文实际上并不是一篇关于
锁
自由优先级
队列
的论文,尽管它的名字是这样的;它实际上是一篇关于使用细粒度
锁
的优先级
队列
的论文。我从其他地方收到的回应包括“使用单线程”、“你不需要它是
无
锁
的”和“这是不可能的”。这三种回答都是不正确
浏览 1
提问于2011-05-15
得票数 8
回答已采纳
2
回答
.NET 4并行扩展是否包含
无
锁
生产者/消费者
队列
的
实现
?
、
、
、
.NET 4并行扩展是否包含
无
锁
生产者/消费者
队列
的
实现
?有没有什么类或接口可以帮助我正确地
实现
这个模式? 谢谢!
浏览 0
提问于2009-12-07
得票数 2
回答已采纳
1
回答
多线程
无
锁
队列
实现
、
、
我和我的搭档开始相信,在我们所写的
无
锁
队列
中,可能会出现一种去同步的可能性,但我们希望能对这个问题有一些新的看法。你对我们的设计有什么看法?
浏览 0
提问于2014-10-16
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
实现线程安全队列——细粒度锁实现
CAS原理深度解析:Java中的无锁编程利器
synchronized实现原理及代码证明各种锁
什么是优先队列算法?详述优先队列算法的原理?用C语言实现优先队列算法。内附完整代码。
什么是单调队列算法?详述单调队列算法的原理?用C语言实现单调队列算法。内附完整代码。
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券