腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
LL
/
SC
以外
的
POWER
中
的
原子
操作
?
assembly
、
atomic
、
powerpc
、
micro-architecture
除了
LL
/
SC
之外,是否有任何
POWER
ISA包括
原子
操作
,例如
原子
加法、交换等?
浏览 28
提问于2020-04-22
得票数 2
1
回答
Power
8可以使用
原子
操作
与通过
Power
8连接
的
ASIC/FPGA通信吗?
device
、
cpu-architecture
、
powerpc
、
pci-e
众所周知,
Power
8支持一致性加速器处理器接口: “锁”是什么意思?也就是说,我们可以在PCI Express总线上使用自旋锁,
原子
操作
,甚至
LL
/
SC
原子
操作
吗?
浏览 3
提问于2017-06-09
得票数 2
回答已采纳
2
回答
使用
原子
交换实现
原子
增量?
multithreading
、
assembly
、
atomic
假设我正在为一个CPU编写(汇编)代码,它唯一
的
原子
操作
是一个无条件交换--没有
LL
/
SC
,没有比较交换,只有普通交换。( ARM9就是这样一个例子。)有没有办法使用交换
操作
来执行
原子
递增/递减
操作
? 有一个相对简单
的
答案,那就是使用交换来构建自旋锁,并使用它来提供一个围绕普通增量和减量
的
临界区。但这看起来很笨拙,我知道如果CAS或
LL
/
SC
可用,它可
浏览 0
提问于2009-11-11
得票数 2
回答已采纳
2
回答
比较并交换
原子
操作
与加载链接/存储条件
操作
c++
、
atomic
、
compare-and-swap
、
load-link-store-conditional
在x86处理器下,我不确定比较和交换
原子
操作
和加载-链接/存储条件
操作
之间
的
区别。后者比前者更安全吗?是不是第一个比第二个更好?
浏览 14
提问于2011-08-16
得票数 11
回答已采纳
1
回答
如何在没有CAS指令
的
平台上实现自旋锁?
c
、
assembly
、
locking
、
cpu-architecture
、
spinlock
通常
的
做法是在支持CAS指令
的
平台上将CAS指令封装在一个while循环中。但是,像SPARC这样
的
平台没有
原子
CAS指令。
浏览 6
提问于2020-06-01
得票数 1
回答已采纳
1
回答
`atomic_compare_exchange_strong_explicit()‘-在不相等
的
情况下,“后继”和“`failure`”参数
的
各种组合会做什么?
c
、
assembly
、
atomic
、
stdatomic
取消C11/C18标准,我发现success和failure
的
允许值是: success = memory_order_relaxed failure = memory_order_relaxed,如果比较为假,则根据失败
的
值影响内存。这些
操作
是
原子
读-修改-写
操作
(5.1.2.4)。您
的
ARM、
POWER
-PC和其他"
LL
/
SC
“设备执行一个负载链接/cmp/Stor
浏览 8
提问于2020-03-10
得票数 1
回答已采纳
2
回答
CAS编程
的
优缺点
java
、
c++
、
lock-free
、
compare-and-swap
、
lockless
有人能总结一下比较和交换编程
的
优缺点吗?(例如,多核CPU性能)/** if (compareAndSet(current, next)) }=== EDIT=== 请在单核CPU
中
特别讨论这个问题
浏览 8
提问于2013-06-03
得票数 1
回答已采纳
1
回答
当由多核执行时,c++11
中
的
读-修改-写
操作
如何实现相互可见性?
multithreading
、
c++11
、
concurrency
我对读-修改-写
操作
背后
的
机制有点困惑,比如fetch_add。在使用宽松
的
内存顺序时,它们如何避免读取旧值并获得错误
的
结果?counter1 = global_counter.fetch_add(1, std::memory_order_relaxed);因为这两个fetch_add
操作
都用std::memory_order_relaxed标记,所以只保证它们
的
原子
性。有没有可能两个线程
中
的
浏览 1
提问于2013-09-08
得票数 1
1
回答
c++11:如何在compare_exchange_weak上产生“虚假故障”?
c++
、
cpu-architecture
、
stdatomic
、
compare-exchange-strong
、
compare-exchange-weak
有什么方法可以让我们编写一些代码来为compare_exchange
的
“弱”版本产生“虚假
的
失败”呢?而同样
的
代码应该在compare_exchange_strong
中
运行良好吗?我希望看到两个apis
的
“弱”和“强”版本之间
的
真正区别,有它
的
示例吗? 非常感谢!
浏览 9
提问于2022-06-27
得票数 5
回答已采纳
1
回答
试图做一个完美的sed替换
text-processing
、
sed
我在这里
的
角色是把
sc
_admin附加到每个地方,每个地方都有admin这个词。以下是我能想到
的
所有单词
的
组合:access = read : [ security_pan_
power
sed -e '/\bsc_admin\b/b' -e '/admin/ s/ *]/,
sc
浏览 0
提问于2022-05-11
得票数 0
回答已采纳
3
回答
不能放松
原子
fetch_add重新排序与以后
的
加载在x86上,如存储可以?
c++
、
multithreading
、
cpu-architecture
、
memory-barriers
、
stdatomic
这个程序有时会打印00,但是如果我注释掉a.store和b.store,取消注释a.fetch_add和b.fetch_add (这两者都设置了a=1、b=1
的
值),我就永远得不到00。这是带有普通存储
的
版本,可以打印00。 // g++ -O2 -pthread axbx.cpp ; while [ true ]; do .
浏览 0
提问于2021-04-05
得票数 4
回答已采纳
1
回答
用于
原子
性
以外
的
用途
的
锁
multithreading
、
locks
我正在读关于大学多线程
的
文章,在其中一篇文章
中
,为了表明
原子
和锁()/Unlock()
操作
是不同
的
,它说“锁可以用于
原子
性
以外
的
目的”,但它没有进一步解释。有人能举几个例子说明一下锁被用于非
原子
性
的
情况吗? 谢谢
浏览 0
提问于2014-09-04
得票数 1
回答已采纳
1
回答
LL
/
SC
如何获得CAS,而不需要与关键部分重新排序
的
商店锁?
assembly
、
cpu-architecture
、
stdatomic
、
compare-and-swap
、
spinlock
为了防止种族竞争,这是任何一种比较和设定
的
操作
.使用单指令CAS实现(X86,Sparc.),这是读写
的
结合.X86
原子
XCHG也是如此。对于 (大多数RISCs),这可归结为: 但所有真正
浏览 3
提问于2019-10-13
得票数 2
回答已采纳
2
回答
Java只要求VM
的
原子
性吗?
java
、
multithreading
、
jvm
、
atomic
、
native-code
我查看了AtomicInteger类(发现)
的
Java源代码,以了解实现JVM需要哪些
原子
原语。我注意到他们使用无文档
的
Unsafe API来实现他们
的
原子
整数
操作
,并且他们使用
的
唯一两个原语似乎是compare and swap和compare and set
操作
。不安全类将这些指令实现为本机方法,这使我相信它们使用
的
是在一般情况下执行这些原始
操作
的
本机指令。然而,并不是每个处理器(尽管大多数现代
浏览 1
提问于2015-05-06
得票数 6
回答已采纳
1
回答
memory_order_seq_cst栅栏在C++20
中
是如何有用
的
?
c++
、
language-lawyer
、
c++20
、
memory-barriers
、
memory-model
让我们把它分成两部分: P读取0,Q写入1,因此P在(从读)q之前读取,因此P=>Q 。这里
的
情况正是如此。
操作
A和B在
原子
对象x上,其中A在x
中
存储1,B读取x
的
值;还有seq_cst栅栏X;在X和B跟随X之前,A是在S(上述)中排列
的
;M
的
修改没有比A晚于A,所以B观察A.但在C++20
中<
浏览 2
提问于2021-10-29
得票数 7
回答已采纳
1
回答
相互竞争
的
原子
操作
会让彼此挨饿吗?
c++
、
multithreading
、
atomic
、
lock-free
、
compare-and-swap
想象一个有两个线程
的
程序。atomically write rand() into the test variable }线程B有没有可能永久地导致线程A
的
CAS或者,自然
的
调度抖动是否意味着这种情况在实践
中
永远不会发生?如果一些工作是在线程A
的
while循环中完成
的
呢?
浏览 0
提问于2010-02-07
得票数 6
回答已采纳
2
回答
是否有可能在riscv
中
的
两个锁上构建
原子
“释放和获取”
操作
?
multithreading
、
assembly
、
locking
、
atomic
、
riscv
是否有可能在riscv
中
构建一个
原子
的
“释放和获取”
操作
,这样一个人就可以释放一个锁,然后立即获得另一个
原子
锁?我发现大多数riscv锁定机制都是使用
原子
交换amoswap.w.aq实现
的
,但是它似乎不支持两个内存位置之间
的
交换,只支持内存位置和寄存器之间
的
交换。我还知道在riscv
中
存在LR/
SC
(负载保留/存储条件)指令,但它似乎不支持多个内存地址之间
的
事
浏览 9
提问于2022-08-15
得票数 1
回答已采纳
1
回答
使用加载链接/存储条件
的
无锁C++11示例来防止阿坝?
c++
、
c++11
、
concurrency
、
compare-and-swap
、
load-link-store-conditional
当使用比较和交换(CAS)技术编写无锁代码时,有一个称为ABA问题
的
问题: 在计算机科学
中
,负载链路和存储条件(
LL
/
SC
)是多线程实现同步
的
一对指令。link返回内存位置的当前值,而对同一内存位置
的
后续存储条件只有在自加载链接后该位置没有发生任何更新时才会存储一个新值。这一起实现了一个无锁
的
<e
浏览 1
提问于2014-05-30
得票数 3
6
回答
使用volatile long作为
原子
c++
、
c
、
multithreading
、
concurrency
、
atomic
如果我有这样
的
东西...{注意:我使用它
的
唯一目的是
原子
递增和递减--没有更花哨
的
东西。
浏览 0
提问于2010-06-26
得票数 4
回答已采纳
1
回答
文本视图内
的
滚动视图(速率片段)
android
我发现被剪下来
的
自己
的
app: LinearLayout
ll
= new LinearLayout(mContext); tv.setWidth(240); tv.setPadding(4, 0, 4
浏览 0
提问于2012-12-12
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
WebAssembly与RISC-V 指令集架构的对比
一位前ARM工程师对RISC-V的批评
A320FAM 飞机客舱 eFX 娱乐系统介绍
CCIX(四)
坚持科技打造,海康机器人丰富产品彰显实力
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券