腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
互斥
锁
vs线程
锁
。使用哪一个?
、
、
、
我的主要问题是线程
锁
对象会创建原子
锁
吗?它并没有说锁在模块文档中是原子的。在pythons的互斥
锁
文档中,它确实说互斥
锁
是原子的,但我似乎在某处读到了事实并非如此。我应该使用哪个
锁
。我目前使用
python
2.4运行我的脚本
浏览 0
提问于2010-07-24
得票数 8
回答已采纳
1
回答
Python
中的无
锁
堆栈实现
、
、
、
是否有可能在
Python
中实现无
锁
堆栈?我在网络上搜索过,没有在
Python
中找到CAS函数。
浏览 0
提问于2015-09-07
得票数 0
9
回答
多线程
Python
代码中的
锁
是否是因为GIL而不必要的?
、
、
如果你依赖一个拥有全局解释器
锁
(即CPython)的
Python
实现并编写多线程代码,那么你真的需要
锁
吗?同样的事情也适用于任何其他具有GIL的语言实现。
浏览 0
提问于2008-09-19
得票数 77
回答已采纳
1
回答
线程化不会加快
python
中的进程。
、
、
我只是在学习
python
的线程模块,如下所示的测试代码的线程实现要比顺序实现花费更多的时间。我是不是遗漏了
python
中线程化的一个基本概念?
浏览 4
提问于2022-06-29
得票数 0
2
回答
print()在
Python
3中是原子的吗?
我知道全局解释器
锁
(GIL)只在字节码
指令
之间的线程之间切换,所以列表和字典上的大多数操作都是原子的,等等。但是,print()是否对应于
Python
3中的单个字节码
指令
,从而可以将其视为原子操作? 奖励:如果一个线程修改(例如插入)到另一个线程正在循环的列表中,会发生什么?
浏览 2
提问于2018-08-27
得票数 2
2
回答
在多核x86系统上,互斥是使用锁定
指令
实现的吗?
、
在x86汇编中,有一个
锁
前缀,它可以应用于
指令
,使其成为原子
指令
。这是跨所有内核的原子性吗?通常涉及的延迟是多少?对于常规互斥
锁
,锁定的是哪条
指令
? 谢谢。PS:我被教导说,在缺乏这样的
指令
的系统上,互斥
锁
仍然可以完成,但它更费力。我想知道还有没有人这样做。
浏览 2
提问于2011-07-29
得票数 12
3
回答
x86是否是原子的,如果是,为什么需要
锁
?
、
、
、
、
说 (我是从高级语言的角度来问的。也就是说,如果必须将无
锁
算法转换为x86平台上的
锁
CMPXCHG,那么它仍然以
锁
作为前缀。这意味着无
锁
算法并不比使用精心编写的同步
锁
/互斥<
浏览 6
提问于2015-01-08
得票数 32
回答已采纳
2
回答
如何插入内存围栏并指定在
Python
程序中内存是不稳定的?
、
我使用
Python
语言,我使用来自线程thread.Threading包装器的CPU线程。在某种程度上,
Python
解释器使用它的JIT将我的代码转换成PYC字节码。(请提供对
Python
字节码标准的引用,但据我所知,标准并不存在。同样,它也不存在语言的标准)。我的问题--我想在编程语言中执行一个操作,在内存操作之间强制执行排序约束。我想知道的是:
浏览 1
提问于2022-01-26
得票数 2
2
回答
xchg
指令
能保证内存排序吗?
、
、
一些操作系统内核使用xchg
指令
来实现spinlock。在它们的获取
锁
函数的实现中,它们通常在使用xchg
指令
获取
锁
之前禁用中断。那么,xchg
指令
能保证内存排序吗?我的意思是,xchg
指令
可以确保禁用中断不会在它之后被调用吗?
浏览 2
提问于2012-11-01
得票数 1
2
回答
linux的“互斥
锁
”是否使用“内存屏障”实现?
、
、
、
我读过,其中Robert提到互斥
锁
是使用内存屏障实现的,但我无法看到在互斥
锁
的中使用的内存屏障
指令
。我想知道他是否指posix库中的互斥
锁
实现,它确实使用内存障碍
指令
,这样就不会对关键资源进行重新排序。我说的对吗?
浏览 3
提问于2015-11-17
得票数 4
回答已采纳
1
回答
原子
指令
是否涉及内核?
、
、
、
、
为了获得
锁
,可以使用原子测试和设置
指令
(例如cmpxchg())测试0并将其设置为1。在这种情况下,锁定线程在不涉及内核的情况下获得
锁
(而且内核不知道这个futex存在)。当下一个线程试图获取
锁
时,对零的测试将失败,并且需要涉及内核。 我一直认为原子
指令
(如test-and-set )总是涉及内核。那么,为什么第一次获取
锁
不涉及内核呢?更具体地说,原子
指令
必须或可能涉及内核?
浏览 4
提问于2020-02-11
得票数 1
回答已采纳
1
回答
记录
锁
、间隙
锁
、下键
锁
、插入意图
锁
和自动锁定是意图
锁
的一部分吗?
、
根据 of MySQL,
锁
的所有类型都是不同类型的
锁
。但它们都使用共享或更新
指令
作为意图锁定。所以我无法理解的是记录
锁
,间隙
锁
,下键
锁
,插入意图
锁
和自动锁定部分意图
锁
,或者这是绝对不同类型的
锁
,但语法相同。
浏览 2
提问于2021-10-23
得票数 0
回答已采纳
2
回答
哪些函数在
Python
中是可重入的,用于信号库处理。
在讨论时,我想到了在
Python
中哪些函数是可重用的问题。 我有点困惑,因为信号库将GIL (全局解释器
锁
)描述为“原子
指令
之间的.”。
浏览 6
提问于2011-01-05
得票数 9
1
回答
当OpenCV脚本本身被C++线程程序调用时,C++函数会锁定
、
、
、
我有一个C++应用程序从几个线程调用
Python
函数。在我尝试从OpenCV内部使用
Python
函数之前,一切都很好。 futex(0x7fe7e6b3e3e0, FUTEX_WAKE_PRIVATE, 1) = 0#4 0x00007fe7e3fa7635 in PyEnsureGIL::PyEnsureGIL (this=<synthetic poi
浏览 0
提问于2019-02-19
得票数 2
回答已采纳
1
回答
如何理解这些自旋
锁
的实现?
、
、
、
虽然所有这些算法在历史上都很重要,但实际的自旋
锁
需要在恒定的时间和空间中运行,为此需要一个比加载或存储更多的原子
指令
。从20世纪60年代开始,硬件设计者开始为他们的处理器配备
指令
,作为一个单一的原子操作来读取、修改和写入一个内存位置。最简单的这样的
指令
称为test_and_set。类型
锁
=布尔型:= false;过程在不测试时获得
锁
(ref L: lock),在L-空时获得set(L) --自旋过程释放
锁
(ref L::= false ) 图13.8一个简单的测试和测试
浏览 1
提问于2017-08-30
得票数 2
3
回答
信号量是否会阻止
指令
重新排序?
、
、
、
、
try //inner instructionsfinally semaphore.Release();我知道它有一些问题(例如,它不是可重入的),但我最大的担忧是
指令
重写在普通的老
锁
语句中,我们保证
锁
的任何内部
指令
都不会移出
锁
语句(在
锁
语句之前或之后)。这个信号量解决方案也是如此吗?据我所知,没有提到这个问题。
浏览 0
提问于2016-12-06
得票数 5
2
回答
我如何改进多线程的使用,以减少运行时,
python
、
、
COMMAND 20365 ben.long 15 0 723m 208m 4224 S 226.2 2.6 0:37.28
python
26
浏览 4
提问于2010-12-15
得票数 0
回答已采纳
1
回答
哪些AtomicInteger方法是测试和设置、获取、添加和比较(就无
锁
算法而言)?
、
、
、
、
据我理解:if(a==b) {}x = x + 7; 但我不确定哪种代码与“测试和设置”相关。
浏览 0
提问于2019-09-07
得票数 0
4
回答
InterlockedExchange与内存对齐
、
、
、
我感到困惑的是,微软说InterlockedExchange需要内存对齐,但是英特尔的文档说
锁
不需要内存对齐。我是不是漏掉了什么,什么的?来自英特尔软件开发人员手册的; 锁定
指令
有一个总的顺序.软件控制总线锁定 总线
锁
的完整性不受
浏览 5
提问于2009-05-19
得票数 8
1
回答
当有一个GIL时,你能在
Python
中运行条件吗?
、
、
我的理解是,由于cPython中的全局解释器
锁
(GIL),任何时候都只能执行一个线程。这是自动保护,以防止竞争条件,如丢失的更新问题吗?
浏览 3
提问于2014-05-25
得票数 17
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
对象存储
ICP备案
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券