腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
搜索
关闭
文章
问答
(9999+)
视频
开发者手册
清单
用户
专栏
沙龙
全部问答
原创问答
Stack Exchange问答
更多筛选
回答情况:
全部
有回答
回答已采纳
提问时间:
不限
一周内
一月内
三月内
一年内
问题标签:
未找到与 相关的标签
筛选
重置
2
回答
Objective-C中的
无
锁
消息
队列
最明显的数据结构是一个
队列
,其中图形线程推到头部,音频线程从尾部拉出。音频线程是实时运行的,任何锁定都可能导致声音故障。有没有一种没有
锁
的线程安全的方法来做到这一点?在我看来,我可以在这里构建一个类似于c数组的环形缓冲区,它将保存指向我的
消息
的指针,其中生产者线程负责移动写磁头,而消费者线程负责移动读磁头。我如何才能确保这样的东西实际上是线程安全的?提到
无
锁
环缓冲区是可以在不使用低级(汇编)代码的情况下实现的,但我对线程如何共享机器的控制权的理解不够有信心,无法确保我正在实现的东西实际上是线程安全的。
浏览 0
提问于2011-03-27
得票数 1
2
回答
原子变量是
无
锁
的吗?
当我们讨论原子变量时,比如C++11的atomic<>,它是
无
锁
的吗?或者,
无
锁
是不同的吗?如果我用原子变量管理一个
队列
,它会比一个
无
锁
队列
慢吗?
浏览 0
修改于2014-01-13
得票数 42
回答已采纳
2
回答
如果不为空,则释放
锁
队列
入队
我已经使用基于的比较和交换用C语言实现了一个
无
锁
队列
。由于
队列
的
无
<em
浏览 0
修改于2011-05-03
得票数 2
1
回答
无
锁
数据结构中的非POD类型
我想为非POD数据类型编写
无
锁
代码;也就是说,非平凡的可销毁类和非平凡的可构造类。我的理解是,这是为了防止非
锁<
浏览 0
提问于2015-12-01
得票数 4
2
回答
如何评估
无
锁
队列
的性能?
我已经使用中解释的危险指针方法实现了一个
无
锁
队列
,使用了用于实现的GCC CAS指令和用于线程本地结构的pthread本地存储。我之所以在这里问这个问题,是因为我试着将它与“锁定”
队列
进行了比较,我发现与
无
锁
实现相比,这具有更好的性能。我尝试的唯一测试是在4核x86_64机器上创建4个线程,在
队列
上执行10.000.000个随机操作,它比
无
锁
版本快得多。我想知道你是否可以建议我一个方法来遵循,例如,我必须在
队列
上测试
浏览 8
修改于2011-09-27
得票数 3
回答已采纳
1
回答
无
锁
队列
轮询最快的
无
竞争方法是什么?
假设我们有一个单生产者线程的单用户线程
无
锁
队列
,并且生产者可以长时间运行而不产生任何数据。当
队列
中没有任何东西时,让使用者线程休眠将是有益的(为了节省电力和为其他进程/线程释放CPU )。如果
队列
不是
无
锁
的,那么解决此问题的简单方法是让生成线程锁定互斥
锁
,完成其工作,发送条件变量并解锁,以及读取线程锁定互斥
锁
,等待条件变量,执行其读取,然后解锁。但是,如果我们使用的是
无
锁
队列</e
浏览 1
修改于2010-11-21
得票数 6
1
回答
Spring-集成/ ActiveMQ订阅单个线程中的多个目的地
我使用多个<si:service-activator>和<jms:message-driven-channel-adapter>订阅多个
队列
和主题。来自每个目的地的
消息
在一个单独的线程中接收,这意味着我的接收代码中满是
锁
,以保护可变的内部状态。 将所有接收到的
消息</em
浏览 1
修改于2015-05-21
得票数 2
回答已采纳
2
回答
如何在C++中使用
无
锁
循环缓冲区实现零拷贝tcp
我希望在共享内存中使用循环缓冲区/
队列
从TCP套接字中读取。TCP接收将直接写入循环
队列
。消费者将从
队列
中读出信息。 真的有可能实现
无
锁
队列
吗?我知道有原子操作,但这些操作也很昂贵。我在低层TCP中有点生疏,不太清楚如何
浏览 3
提问于2012-07-02
得票数 8
回答已采纳
2
回答
C++ -在线程之间传递数据
我应该如何实现
消息
队列
,以便在t2完成后,它将输出数据发送到t3和t4进行处理?我尝试过使用锁定机制来实现
消息
队列
,但是
锁
的开销似乎很大。是否存在在线程之间传递数据的
无
锁
机制?
浏览 2
提问于2014-11-19
得票数 5
回答已采纳
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
回答已采纳
2
回答
没有链表的
无
锁
编程
然而,我所见过的几乎所有无
锁
数据结构的例子都使用了链接列表。例如,C++并发性和多处理器编程艺术在实现
无
锁
堆栈和
队列
时都使用链接列表。在设计
无
锁
容器(如堆栈和
队列
)时,是否有更好的替代链接列表的方法?
浏览 4
提问于2016-12-08
得票数 4
1
回答
真正的
无
锁
MPMC环缓冲器?线程能够互相帮助以避免阻塞吗?
所示的代码并不是完全无
锁
的。当
队列
不为空或未满时,每当挂起写入线程时,读取器线程将返回false,从而阻止整个数据结构取得进展。 我看了一些代码,它们也有类似的问题。使用繁忙的等待,而不是
无
锁
。
浏览 14
修改于2022-04-03
得票数 2
回答已采纳
2
回答
无
锁
的多生产者单消费者
消息
队列
有一段时间,我一直在为C#中的委托寻找一个
无
锁
、简单和可伸缩的多生产者、单一消费者
队列
的实现。我想我终于有了。这依赖于比较和交换方法来更新
队列
,类似于C# 4.0 (请看这里)中用于生成事件字段访问器的新的
无
锁
模式,并结合Interlocked.Exchange读取并将
队列
设置为null。本质上,这源于这样的认识:
消息
队列
实际上是一次发送的多播委托,在
消息
执行后重置它们的调用列表! 然而,并行代码是很难得到正确的,所
浏览 0
修改于2021-01-16
得票数 5
回答已采纳
5
回答
无
锁
队列
typedef struct queueelem { struct queueelem} //return FALSE } 但不知道如何继续,用
队列
和去
队列
函数
浏览 3
修改于2011-05-24
得票数 3
回答已采纳
1
回答
无
锁
队列
我对
无
锁
编程世界非常陌生,希望能得到一些关于这段代码的反馈。我一直在用多个生产者和消费者测试
队列
,并且没有意外的输出(目前为止)。有什么我可能错过或者应该改进的地方吗?
浏览 0
修改于2015-10-12
得票数 2
回答已采纳
1
回答
是否存在有界
无
锁
阻塞
队列
?
LinkedBlockingQueue可以是有界的,但它使用
锁
。 ConcurrentLinkedQueue不使用
锁
,但它不是有界的。而且它不会阻塞,这使得它很难轮询。显然,我不能让一个既阻塞又
无
锁
的
队列
(等待自由或非阻塞或其他)。我不要求学术上的定义。有没有人知道一个
队列
实现,它基本上是
无
锁
的(不在热路径中使用
锁
),在空的时候阻塞(不需要忙碌等待),并且是有界的(满的时候阻塞)?堆外解决方案也是受欢迎的。我听说过LMAX Disru
浏览 0
提问于2017-09-29
得票数 3
1
回答
有
锁
队列
与
无
锁
队列
它是一个纯粹的单生产者单消费者
队列
。struct MemoryStruct { size_t size;
队列
是 boost:
浏览 0
修改于2016-12-06
得票数 0
1
回答
排队或不排队以获得低延迟
所有这些线程都使用
无
锁
队列
进行通信。谢谢
浏览 4
提问于2019-09-06
得票数 0
第 2 页
第 3 页
第 4 页
第 5 页
第 6 页
第 7 页
第 8 页
第 9 页
第 10 页
第 11 页
点击加载更多
领券