腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(4303)
视频
沙龙
2
回答
没有链表的
无
锁
编程
、
、
然而,我所见过的几乎所有无
锁
数据结构的
例子
都使用了链接列表。例如,C++并发性和多处理器编程艺术在实现
无
锁
堆栈和
队列
时都使用链接列表。在设计
无
锁
容器(如堆栈和
队列
)时,是否有更好的替代链接列表的方法?
浏览 4
提问于2016-12-08
得票数 4
2
回答
原子变量是
无
锁
的吗?
、
、
、
、
当我们讨论原子变量时,比如C++11的atomic<>,它是
无
锁
的吗?或者,
无
锁
是不同的吗?如果我用原子变量管理一个
队列
,它会比一个
无
锁
队列
慢吗?
浏览 0
提问于2012-04-11
得票数 42
回答已采纳
2
回答
如果不为空,则释放
锁
队列
入队
、
、
、
我已经使用基于的比较和交换用C语言实现了一个
无
锁
队列
。由于
队列
的
无
<em
浏览 0
提问于2011-05-03
得票数 2
1
回答
Sutter的
无
锁
队列
的Boost库或C++0x原子的等效实现?
、
、
、
、
Herb Sutter关于
无
锁
队列
和并发
队列
的文章在本文中被提到了很多。我甚至不介意,如果有人能提供一个互斥
锁
/条件变量的
例子
... 谢谢!
浏览 1
提问于2011-03-09
得票数 0
回答已采纳
1
回答
无
锁
数据结构中的非POD类型
、
、
、
我想为非POD数据类型编写
无
锁
代码;也就是说,非平凡的可销毁类和非平凡的可构造类。我的理解是,这是为了防止非
锁<
浏览 0
提问于2015-12-01
得票数 4
2
回答
如何评估
无
锁
队列
的性能?
、
、
、
我已经使用中解释的危险指针方法实现了一个
无
锁
队列
,使用了用于实现的GCC CAS指令和用于线程本地结构的pthread本地存储。我之所以在这里问这个问题,是因为我试着将它与“锁定”
队列
进行了比较,我发现与
无
锁
实现相比,这具有更好的性能。我尝试的唯一测试是在4核x86_64机器上创建4个线程,在
队列
上执行10.000.000个随机操作,它比
无
锁
版本快得多。我想知道你是否可以建议我一个方法来遵循,例如,我必须在
队列
上测试
浏览 8
提问于2011-09-27
得票数 3
回答已采纳
2
回答
无
锁
和
无
锁
有什么区别?
、
更新 第5.2节--“
Linux
中的
无
锁
环缓冲区*”,这是使用单词“
无
锁
”的一个
例子
浏览 0
提问于2013-12-09
得票数 12
回答已采纳
1
回答
无
锁
队列
轮询最快的
无
竞争方法是什么?
、
、
、
、
假设我们有一个单生产者线程的单用户线程
无
锁
队列
,并且生产者可以长时间运行而不产生任何数据。当
队列
中没有任何东西时,让使用者线程休眠将是有益的(为了节省电力和为其他进程/线程释放CPU )。如果
队列
不是
无
锁
的,那么解决此问题的简单方法是让生成线程锁定互斥
锁
,完成其工作,发送条件变量并解锁,以及读取线程锁定互斥
锁
,等待条件变量,执行其读取,然后解锁。但是,如果我们使用的是
无
锁
队列</e
浏览 1
提问于2010-11-21
得票数 6
5
回答
无
锁
队列
的C代码
、
、
如何在C中实现这种
无
锁
队列
伪代码 q ← new record q^.next ← NULL repeat
浏览 0
提问于2011-05-23
得票数 9
回答已采纳
3
回答
C++11非阻塞生产者/消费者
、
、
我有一个C++11应用程序,它有一个高优先级线程在产生数据,另一个低优先级线程在使用数据(在我的
例子
中,是把数据写到磁盘上)。我希望确保高优先级生产者线程永远不会被阻塞,也就是说,它只使用
无
锁
算法。使用
无
锁
队列
,我可以将数据从生产者线程推送到
队列
,并从消费者线程轮询数据,从而实现上述目标。我想修改我的程序,使消费者线程在不活动时阻塞,而不是轮询。有没有人可以给我举个
例子
,告诉我如何使用它,同时避免消费者睡觉时数据仍在
队列
中的可能性?更
浏览 1
提问于2014-01-29
得票数 9
7
回答
无
锁
的C++数据结构,不可能吗?
、
、
、
我真的不明白你怎么才能让一些数据结构没有
锁
。例如,如果你有一个链表,那么你要么用互斥
锁
包围操作,要么当你忙于将新节点重新链接在一起时,如果另一个线程执行,那么你可能会以竞争条件结束。“
无
锁
”的概念(我理解它并不意味着“没有
锁
”,而是意味着线程可以在不等待其他线程完成的情况下进行)。谁能给我举个简单的
例子
,使用堆栈、
队列
或链表等实现为“
无
锁
”,因为我不明白如何在不影响另一个线程生产力的情况下防止竞争条件?这两个目标肯定是相互矛盾的吗?
浏览 40
提问于2014-03-02
得票数 3
5
回答
循环缓冲区
队列
中的
无
锁
进度保证
、
、
、
、
有趣的是,我发现很多程序员错误地认为“
无
锁
”仅仅意味着“没有互斥的并发编程”。通常,还有一个相关的误解,即编写
无
锁
代码的目的是为了获得更好的并发性能。当然,
无
锁
的正确定义实际上是关于进度保证的。
无
锁
算法保证至少有一个线程能够向前推进,而不管其他线程在做什么。 这意味着没有
锁
的算法永远不会有一个线程依赖另一个线程来继续执行的代码。然而,有些情况更微妙,有些情况下我真的无法判断算法是否符合
无
锁
的条件,因
浏览 3
提问于2017-08-27
得票数 30
回答已采纳
1
回答
可变长度的
无
锁
队列
?
、
、
、
我在C/C++中搜索了相当多的
无
锁
队列
,但是它们中的大多数必须指定最大数量的元素,包括boost::lockfree。 有人能给我一些关于可变长度、多个生产者和多个消费者
无
锁
队列
的信息吗?
浏览 2
提问于2013-08-27
得票数 1
1
回答
编年史
队列
:为多路复用生产者写入单个
队列
的推荐方法是什么?
、
、
让有5个生产者线程,和一个
队列
。我似乎有两个选择:首先同步5个生产者线程(如无
锁
机制,例如中断器),创建一个额外的线程,其中包含一个写入编年史
队列
的附加线程。 为什么问这个问题?我最初的印象是,写入编年史
队列
是
无
锁
的,因此应该非常快。但是github文档多次提到,有一个写
锁
可以序列化并发写入。所以,我不知道放在编年史
队列
前面的<e
浏览 3
提问于2022-04-19
得票数 1
回答已采纳
5
回答
无
锁
队列
中的内存管理
、
我们一直希望在代码中使用一个
无
锁
队列
来减少当前实现中单个生产者和使用者之间的
锁
争用。有很多
队列
实现,但我还不太清楚如何最好地管理节点的内存管理。由于我们使用的是池,因此需要向内存池添加另一个
锁
,以正确地保护它。这似乎一开始就否定了无
锁
队列
的性能优势。 谢谢。
浏览 2
提问于2011-06-23
得票数 6
回答已采纳
1
回答
Boost:阻塞直到
队列
有了另一项
、
、
、
我使用Boost的
无
锁
队列
作为生产者-消费者
队列
。我希望每个使用者线程在
队列
为空时阻塞,当
队列
中有更多数据时醒来,或者任何生产者终止。但是Boost似乎没有提供阻塞的pop,只提供立即返回的pop。
浏览 1
提问于2015-04-12
得票数 2
回答已采纳
2
回答
比较boost::lockfree::spsc_queue、boost::lockfree::queue、串行
队列
操作
、
、
我比较了这三种情况的运行时间,它们是boost::lockfree::queue,boost::lockfree::spsc_queue,以及使用std::queue的生产者/消费者
队列
的序列码。boost::lockfree::queue产生/消费400000000个对象所花费的时间是290秒,而boost::lockfree::spsc_queue (nowait单生产者
队列
和单消费者
队列
)我想知道使用多线程
无
锁
队列
有什么意义。这只是一个演示,说明这两个
无
浏览 1
提问于2015-04-16
得票数 1
1
回答
真正的
无
锁
MPMC环缓冲器?线程能够互相帮助以避免阻塞吗?
、
、
、
所示的代码并不是完全无
锁
的。当
队列
不为空或未满时,每当挂起写入线程时,读取器线程将返回false,从而阻止整个数据结构取得进展。 我看了一些代码,它们也有类似的问题。使用繁忙的等待,而不是
无
锁
。
浏览 14
提问于2022-04-03
得票数 2
回答已采纳
5
回答
无
锁
队列
、
、
typedef struct queueelem { struct queueelem} //return FALSE } 但不知道如何继续,用
队列
和去
队列
函数
浏览 3
提问于2011-05-22
得票数 3
回答已采纳
1
回答
无
锁
队列
、
、
、
、
我对
无
锁
编程世界非常陌生,希望能得到一些关于这段代码的反馈。我一直在用多个生产者和消费者测试
队列
,并且没有意外的输出(目前为止)。有什么我可能错过或者应该改进的地方吗?
浏览 0
提问于2015-10-11
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux消息队列源码解析
Linux内核工作队列
TensorFlow 的简单例子 Linux 中国
Linux 高级编程-消息队列 MsgQueue
Linux find命令的26个简单例子
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券