腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(3556)
视频
沙龙
3
回答
检查是否在核心转储中持有
自旋
锁
。
、
、
我试图分析
Linux
内核内核转储中的
自旋
锁
变量。在
互斥
锁
的情况下,如果
互斥
锁住了,计数变量的值应该是0。如果是
自旋
锁
,spinlock_t my_lock的字段如下 (arch_spinlock_t) raw_lock如果
锁
被拿走了,会不会有不同的值?是否有其他方法检查
自旋
锁
变量的转储,以确定它是否已被接受?价值体系结构是依赖的吗?
浏览 3
提问于2015-01-02
得票数 4
回答已采纳
2
回答
可替代
自旋
锁
的障碍?
、
go.load()) {} //sync barrier} 我想摆脱
自旋
锁
,把它替换为基于
互斥
锁
的东西,因为我有很
多线程
在做各种各样的事情,而
自旋
锁
的十几个线程对整体吞吐量来说是不稳定的,如果我在
自旋
锁
中包含了睡眠(1),它运行得更快。
浏览 2
提问于2016-06-26
得票数 0
回答已采纳
1
回答
为什么旋转锁在单个CPU上没有意义?
、
、
、
、
如果没有抢占,
自旋
锁在单个CPU上就没有多大意义,因为在CPU上旋转的线程永远不会放弃它。” 为什么在单个CPU上旋转的线程永远不会放弃它,即使单个CPU支持
多线程
?是因为在这种情况下,
自旋
锁
只是浪费了太多的CPU资源吗?CPU内核的数量如何影响不同
锁
(如
互斥
锁
和
自旋
锁
)的性能?
浏览 11
提问于2017-02-16
得票数 3
回答已采纳
5
回答
如何在
linux
中分析pthread
互斥
?
、
、
、
、
但我想知道是否有任何可用的工具或选项来分析
互斥
锁
,这些工具或选项可以提供有关
互斥
锁
争用的度量/统计信息,以查看我是否有任何问题区域。Octeon SDK使用
自旋
锁
实现
互斥
锁
风格的同步。浏览Octeon文档时,我遇到了一种分析
自旋
锁
的方法,以便能够查看在等待
锁
可用时每个
自旋
锁
必须旋转多少次。为了使用它,我必须做一个条件编译,然后它会在每次
自旋</e
浏览 0
提问于2012-06-01
得票数 21
回答已采纳
3
回答
为什么没有std::等效于pthread_spinlock_t,就像pthread_mutex_t & std::mutex一样?
、
、
、
我在并发程序中使用了一些线程,主要是使用
自旋
锁
、
互斥
变量和条件变量。 我开始研究使用std::线程和使用std::mutex进行
多线程
的问题,我注意到在p线程中似乎没有类似于spinlock的东西。
浏览 13
提问于2020-04-30
得票数 3
回答已采纳
1
回答
自旋
锁
与
互斥
休眠
锁
、
、
对于非常短的临界区,
自旋
锁
(繁忙等待
锁
)比
互斥
休眠
锁
更有效。假设系统的上下文切换时间(保存当前进程并加载下一个进程所需的时间)是T。临界区需要多长时间才能使用
互斥
休眠
锁
而不是
自旋
锁
更有效?
浏览 0
提问于2015-04-17
得票数 2
2
回答
使用具有O(1)非内存连续代码的
自旋
锁
可以吗?
、
、
、
、
我使用
自旋
锁
(线程
锁
),通常在锁定代码部分中使用O(1)列表元素访问/删除。我的目标是最大限度的性能,不关心CPU (超过)在这个上下文中的使用。 干杯
浏览 4
提问于2013-02-23
得票数 2
2
回答
如何在
linux
中使用
自旋
锁
?
、
、
、
我是一名计算机科学专业的学生,我有一个任务要求我使用
自旋
锁
锁定一个线程,并在它的关键部分完成后解锁它。困难是我搜索了很多次,但没有找到任何有用的信息。例如,我试图包括像#include <
linux
/spinlock.h>这样的标题,但是当我使用gcc编译这个c程序时,它说找不到这样的头。那么,我应该包括哪些标头,需要调用哪些函数才能使用
自旋
锁
?
浏览 4
提问于2016-11-26
得票数 2
1
回答
c++:
自旋
锁
或
互斥
比较(简单计算)
、
、
、
、
对于简单的任务,
自旋
锁
应该比
互斥
锁具有更好的性能。for(auto& t : v) return 0;测试
自旋
锁
/a.outreal 0m18.206ssys 0m0.003s$
浏览 3
提问于2015-04-05
得票数 1
回答已采纳
3
回答
确定内核代码的关键部分
、
、
、
嗨,我正在编写内核代码,它打算做进程调度和
多线程
执行。我研究过锁定机制及其功能。是否有关于关键部分中哪种数据结构应该通过锁定(
互斥
/信号量/
自旋
锁
)来保护的经验规则?我知道,只要代码中有并发的机会,我们就需要
锁
。但是,如果我们错过了测试用例却没有抓住它们,我们如何决定呢?早些时候,我为系统调用和文件系统编写了代码,在这些系统和文件系统中,我从不关心获取
锁
。
浏览 2
提问于2015-11-14
得票数 1
2
回答
linux
的关键部分
、
在
linux
或
linux
库中,是否存在与win32中的关键部分相当的部分? 我知道Mutex,但它与关键部分不一样,因为关键部分在内部使用用户模式的
自旋
锁
和事件对象,而且它必须比
互斥
快。
浏览 0
提问于2012-01-16
得票数 3
回答已采纳
4
回答
在Boost中实现
自旋
锁
。所需的示例
、
、
、
我想知道boost是否有帮助实现
自旋
锁
的库。我知道boost支持
互斥
锁
,但我找不到任何在boost.Any中展示或描述
自旋
锁
的例子,展示如何使用boost(最好)实现
自旋
锁
的例子将不胜感激。
浏览 3
提问于2013-11-02
得票数 3
1
回答
是否可以使用__sync_local_test_and_set/xchg实现
互斥
锁
?
、
、
大多数__sync_local_test_and_set的搜索结果都提到它可以用来实现
自旋
锁
而不是
互斥
锁
。mutex without closely interacting with the kernel(futex system call),并给出了一个用__sync_lock_test_and_set实现
自旋
锁
的示例但是我认为__sync_lock_test_and_set也可以用来实现
互斥
锁
: if (__sync_lock_test_and_t
浏览 14
提问于2022-10-14
得票数 0
回答已采纳
2
回答
为什么pthread_mutex在Mac上的性能比
Linux
差?
、
、
、
、
我现在正在学习
多线程
编程,我注意到在Mac上使用
互斥
锁
实现同步的程序非常慢,在某种程度上,使用单线程通常更好。我知道有更快的同步方法,但我仍然想知道为什么会这样。此外,当使用其他
锁
时,例如旋转
锁
,差异永远不会这么大。补充:我遗漏了一些东西。我还分别比较了每个操作系统上的
自旋
锁
和
互斥
。在
Linux
上,
自旋
锁
比有大量线程的
互斥</
浏览 2
提问于2015-11-30
得票数 1
1
回答
Linux
下的混合
互斥
体库
、
、
、
、
Linux
有没有实现混合
互斥
功能的标准线程库?我的意思是,一个
互斥
,一开始,“行为就像一个
自旋
锁
”,“只有当锁在一定的时间(或重试或任何其他测量因素)后仍未获得时,线程才真正进入睡眠状态”,正如梅基在提到的那样
浏览 0
提问于2013-06-07
得票数 0
回答已采纳
3
回答
线程计数=硬件并行度时
互斥
锁
与
自旋
锁
的对比
、
、
、
在这种情况下,
自旋
锁
是否在所有可能的情况下都比
互斥
锁
提供更好的性能? 编辑一些解释:由于线程之间不会争用CPU时间,因此线程可以使用
自旋
锁
,而不会对其他线程的性能造成任何影响。而且旋转
锁
不会切换到等待模式,因为等待模式可能会很重(至少在windows上是这样的,我不知道它在
linux
上是如何执行的)。
浏览 1
提问于2011-01-15
得票数 1
回答已采纳
1
回答
我能把gcc的原子内置包起来吗?
、
、
、
、
如果线程与
多线程
互斥
/
自旋
锁
同步,就可以轻松地包装对pthread_mutex_lock()和pthread_mutex_unlock()的调用,例如,使用LD_PRELOAD。
浏览 1
提问于2014-02-07
得票数 0
回答已采纳
3
回答
std::mutex和QMutex在MinGW 64中的性能(posix线程版本)
、
、
、
、
互斥
锁
/解锁性能成本从几乎可以忽略的线程时间上升到大约66%。 在我的情况下,完全避免
互斥
的准则是什么?
浏览 2
提问于2015-03-20
得票数 5
回答已采纳
1
回答
在
Linux
上锁定单个进程内的数据访问的最快方法
、
、
、
、
我正在尝试在Windows和
Linux
上锁定数据。当我使用unique_lock<mutex>进行同步时,
Linux
在大多数情况下都要优于Windows,有时是相当明显的。但当我使用windows的CRITICAL_SECTION时,情况正好相反,windows代码变得比
Linux
快得多,特别是当线程数增加的时候。在
Linux
上有比mutex或windows的临界区更快的东西吗?
浏览 1
提问于2014-03-27
得票数 0
2
回答
实现一个与Qt类似的高性能
互斥
对象
、
、
、
、
我有一个
多线程
科学应用程序,其中几个计算线程(每个内核一个)必须将它们的结果存储在一个公共缓冲区中。这需要一个
互斥
机制。工作线程只花一小部分时间写入缓冲区,因此
互斥
锁
大部分时间都是解锁的,
锁
很有可能立即成功,而无需等待另一个线程解锁。编辑:我试过
自旋
锁
,但效果不佳,因为: 定期(每隔几秒钟),另一个线程锁定
互斥
对象并刷新缓冲区。这需要一些时间,因此所有工作线程此时都会被阻塞。
自旋
锁
使调度变得繁忙,导致刷新速度比正常<
浏览 4
提问于2015-03-22
得票数 13
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
互斥锁、自旋锁、读写锁……理清它们的区别和应用
妹妹问我:互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景
面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景
性能优化-锁的正确选型
热门
标签
更多标签
云服务器
ICP备案
实时音视频
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券