腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
5
回答
无
锁
队列中的内存管理
、
我们一直希望在代码中使用一个
无
锁
队列来减少当前
实现
中单个生产者和使用者之间的
锁
争用。有很多队列
实现
,但我还不太清楚如何最好地管理节点的内存管理。WorkUnit(...) );WorkUnit* unit = queue.RemoveFront();delete unit; 我们目前使用内存
池
进行分配由于我们使用的是
池
,因此需要向内存
池
添加另一个
锁
,以正确地保护它。这似乎一开
浏览 2
提问于2011-06-23
得票数 6
回答已采纳
2
回答
一个可移植的库,用于工作
线程
池
和作业队列等
、
我正在开发一个可移植的(就像在
Linux
和Windows中一样) C/C++程序--一个游戏--它将使用多
线程
来完成诸如路径查找之类的工作。 是否有健壮的库来处理
线程
池
的任务分配?最好是使用
无
锁
结构和窃取工作以及其他尖端想法。或者,我真的必须从pthread或
线程
库开始,然后自己
实现
作业队列之类的吗?
浏览 1
提问于2011-02-08
得票数 0
1
回答
无
锁
线程
池
、
、
、
在
实现
线程
池
时,通常不希望繁忙地循环那些没有工作可做的
线程
。因此,我们需要某种std::condition_variable。因此,我们需要某种std::mutex。因此,不可能有一个没有
锁
的
线程
池
(而不是繁忙循环)。 还是我错过了一些操作系统机制,使之成为可能?你能提供更多的理由来暗示不存在
无
锁
的、非繁忙的循环
线程
池
吗?
浏览 2
提问于2014-11-15
得票数 4
回答已采纳
1
回答
如何在数据库系统中提高缓冲
池
的并发性能?
、
、
、
在数据库系统教程中,就像教科书数据库系统概念一样,有一个模块名为缓冲
池
/缓冲区管理器/寻呼机/任何东西。我没有看到很多关于它的细节,所以我很好奇如何提高它的并发性能?如果我们在trie中执行分页,而不需要缓冲
池
,则可以很容易地让多个
线程
同时加载或退出叶节点:您所需要做的就是从上到下获取节点的共享
锁
,以及叶节点的父节点的独占
锁
。但是,如果让缓冲
池
来处理分页操作,那么我想您可能需要获取缓冲
池
的独占
锁
。然后,只有一个
线程
浏览 3
提问于2017-11-08
得票数 0
2
回答
C++ -在
线程
之间传递数据
、
我有一个
线程
池
,它由4个
线程
组成: t1、t2、t3和t4。它们同时运行,但是来自t3和t4的输入取决于来自t2的输出。我应该如何
实现
消息队列,以便在t2完成后,它将输出数据发送到t3和t4进行处理?我尝试过使用锁定机制来
实现
消息队列,但是
锁
的开销似乎很大。是否存在在
线程
之间传递数据的
无
锁
机制?我正在使用boost::
线程
在2010中。
浏览 2
提问于2014-11-19
得票数 5
回答已采纳
1
回答
动态
无
锁
内存分配器
、
、
、
、
编写满足
无
锁
进度保证的算法或数据结构的困难之一是动态内存分配:调用像malloc或new这样的东西不能保证以可移植的方式释放
锁
。然而,存在许多malloc或new的
无
锁
实现
,还有各种各样的
无
锁
内存分配器可用于
实现
无
锁
算法/数据结构。但是,如果您需要动态内存分配,我不明白从长远来看,任何所谓的
无
锁
内存分配程序都是真正没有
锁
的。而且无法保证
浏览 2
提问于2017-09-22
得票数 6
回答已采纳
1
回答
如何在一个由另一个
线程
设置的
线程
中释放
锁
、
、
、
我有一个简单的
线程
池
,它是使用
锁
池
实现
的,所以我知道哪些
线程
是可用的。每个
线程
都有一个等待的条件变量,所以我可以让它工作。问题是
线程
何时完成工作。我需要解锁
锁
池中的<e
浏览 1
提问于2010-08-21
得票数 0
回答已采纳
1
回答
在c++11
线程
支持库中使用boost::lockfree安全吗?
、
、
、
、
我现在有一个使用C++ 11
线程
支持库编写的代码: 我想知道,将该代码与boost::lockfree混合是否安全。也就是说,我希望多个C++11 std::
线程
并发访问boost::lockfree::queue。也许用boost::C++11替换C++11
线程
更安全,但是如果我能够最小化代码更改,那就太好了。
浏览 3
提问于2013-09-09
得票数 2
回答已采纳
1
回答
Intel TBB并行化开销
、
、
、
、
为什么英特尔
线程
构建块(TBB) parallel_for有这么大的开销?根据3.2.2节,自动链接在Tutorial.pdf中大约是半毫秒。根据我到目前为止所读到的,TBB在内部使用
线程
池
(工作
线程
池
)模式,它只在最初生成一次工作
线程
(花费数百微秒)就可以防止这种糟糕的开销。 那么是什么在占用时间呢?使用互斥的数据同步不是很慢吗?此外,TBB是否利用
无
锁
的数据结构来
实现
同步?
浏览 2
提问于2011-07-22
得票数 4
回答已采纳
2
回答
在并发数据结构中,什么级别的锁定粒度是好的?
、
、
、
、
我对多
线程
非常陌生,我有一个单
线程
数据分析应用程序,它有很好的并行化潜力,虽然数据集很大,但它并没有接近饱和硬盘读/写,所以我认为我应该利用现在标准中的
线程
支持,并尝试加快速度。经过一些研究后,我认为生产者消费者是从磁盘读取数据和处理数据的好方法,我开始编写一个对象
池
,它将成为循环缓冲区的一部分,生产者将在其中放置数据,消费者将获取数据。其次,这都是“模板化”的,但我去掉了那些行,试图减少代码块的长度 第三,ReadWriteLock是我使用互斥
锁
和一对条件变量组合在一起的东西。
浏览 25
提问于2012-12-06
得票数 4
回答已采纳
2
回答
如何评估
无
锁
队列的性能?
、
、
、
我已经使用中解释的危险指针方法
实现
了一个
无
锁
队列,使用了用于
实现
的GCC CAS指令和用于
线程
本地结构的pthread本地存储。我现在正在尝试评估我编写的代码的性能,特别是我正在尝试将此
实现
与使用
锁
(pthread mutexes)来保护队列的
实现
进行比较。我之所以在这里问这个问题,是因为我试着将它与“锁定”队列进行了比较,我发现与
无
锁
实现
相比,这具有更好的性能。我尝试的唯一测试是在4核x86_64
浏览 8
提问于2011-09-27
得票数 3
回答已采纳
1
回答
单元测试中的连接丢失(在节俭的C++应用程序中或一般情况下)
、
、
、
、
我有一个多
线程
的C++程序(客户端和服务器),它使用节约和
无
锁
对象
池
等等。这是一个复杂的系统,有
锁
和睡眠,需要很好的测试,我需要在单元测试中模拟失去连接的。我在
Linux
上,Ubuntu18.04。我不介意使用系统调用来欺骗我的测试。 如果您需要更多的信息,请询问。我不确定我能不能提供更多的信息。
浏览 0
提问于2019-03-31
得票数 0
5
回答
如何在繁重的多
线程
环境中异步登录?
、
、
、
、
我正在尝试在一个高度多
线程
的环境中进行异步登录,在
linux
上的java中,platform.what是一个合适的数据结构(
无
锁
),能带来低
线程
争用吗?我需要记录千兆级的消息。我需要以异步/
无
锁
的方式来做这件事,这样我就不会破坏主逻辑(调用记录器apis的代码)上的性能。
浏览 1
提问于2013-01-15
得票数 1
1
回答
使用加载链接/存储条件的
无
锁
C++11示例来防止阿坝?
、
、
、
、
当使用比较和交换(CAS)技术编写
无
锁
代码时,有一个称为ABA问题的问题: 如何修改典型的C++
无
锁
CAS技术以使用上述解决方案?有人能举个小例子吗?我不介意它的C++1
浏览 1
提问于2014-05-30
得票数 3
1
回答
如果我从同步块返回,什么时候释放
锁
?
、
、
如果我有来自同步块的返回语句,那么我对释放
锁
的点感到困惑;为了找到结果,我添加了try-finally块,并在最后块中添加了一个sysout,以打印“释放的
锁
”,但是我可以清楚地看到,在打印‘return’语句之前,第二个
线程
已经获得了
锁
。
锁
什么时候开?什么保证事情不会变得更加混乱?Thread.currentThread().getName() + " -- released the lock"); System.out.println("\n\n"
浏览 0
提问于2017-01-14
得票数 4
回答已采纳
2
回答
java中的非阻塞堆栈
、
、
有人能帮我写一个非阻塞、
无
锁
的 stack
实现
吗?它在Sun
实现
中吗? 我试图通过对整个堆栈数据结构设置一个全局
锁
来编写
线程
安全的Stack (这很昂贵),但似乎可以编写一个非阻塞、
无
锁
的堆栈。如果无
锁
且不受死锁的影响,则称为非阻塞算法。
浏览 3
提问于2013-10-24
得票数 2
2
回答
boost::shared_mutex比
Linux
上的粗std::mutex慢
、
、
、
、
我有一个std::unordered_map,它需要处理来自多个
线程
的非常繁重的工作负载。为了测试性能改进,我首先使用一堆值预填充一个映射,然后让一堆
线程
运行一个。在我用GCC 6.1.1开发的Arch
Linux
x86_64系统上,boost::shared_lock版本总是慢的!
浏览 4
提问于2016-05-18
得票数 5
回答已采纳
1
回答
真正的
无
锁
MPMC环缓冲器?
线程
能够互相帮助以避免阻塞吗?
、
、
、
所示的代码并不是完全无
锁
的。当队列不为空或未满时,每当挂起写入
线程
时,读取器
线程
将返回false,从而阻止整个数据结构取得进展。 我看了一些代码,它们也有类似的问题。使用繁忙的等待,而不是
无
锁</
浏览 14
提问于2022-04-03
得票数 2
回答已采纳
3
回答
用于.NET的
无
锁
和
线程
安全的IList<T>
、
、
、
、
有没有
实现
IList的
无
锁
和
线程
安全的数据结构? 当然,我所说的
无
锁
是指一种
实现
,它不使用.NET中的锁定原语,而是使用互锁操作/原子操作来
实现
线程
安全...显然在并发数据结构下没有...我见过一个用
实现
的名为的java one,但到目前为止还没有针对.NET的
实现
。有什么想法吗?
浏览 0
提问于2011-02-22
得票数 14
回答已采纳
2
回答
无
锁
同步
、
、
、
我的问题与多
线程
无
锁
同步有关。我想知道以下几点:提前谢谢。
浏览 3
提问于2012-02-01
得票数 8
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Python的Socket知识6:线程、线程锁、线程池、上下文管理
Java中的线程池实现原理
java线程池的原理、实现和应用
自定义线程池来实现文档转码
实现线程安全队列——细粒度锁实现
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券