腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
在
Peterson
算法
中
需要
内存
栅栏
、
、
while(in_critical[other] && (turn == other)) ; in_critical[me] = false; } 上面是
peterson
算法
的一个简单实现。
在
不同的在线资源
中
,它指出为了防止来自out-of-order execution的问题,
在
while(..)之前
需要
一个
内存
栅栏
。所以S1 and S2的顺序不会被交换。
内存
栅栏</
浏览 18
提问于2020-07-10
得票数 2
回答已采纳
1
回答
互斥
算法
是否
需要
原子负载和存储?
、
、
、
、
我理解用于互斥的
算法
,例如Dekker的
算法
和
Peterson
的
算法
,
需要
一个潜在的顺序一致的
内存
模型才能工作(或者使用
内存
屏障),但我不清楚它们是否
需要
原子负载和存储。
在
for
Peterson
的
算法
中
,它说: 该
算法
满足了求解临界截面问题的三个基本准则,只要变量的变化立即和原子地传播到变量转、标志和标志。我不清楚上面引用的位,以及这是否意味着该
算法
浏览 1
提问于2016-11-15
得票数 1
1
回答
原子操作对互斥体是否足够?
、
、
仅仅是原子操作就足以
在
x86
中
实现互斥。我是问这与无序执行有关。除了指定互斥锁或未锁定的整数的原子访问外,是否还有其他必须执行的操作?
为什么
?
浏览 6
提问于2016-02-16
得票数 2
回答已采纳
1
回答
没有
栅栏
、应用程序、支持芯片的C++0X memory_order
、
、
、
与
栅栏
相反,这种
内存
顺序只影响它所操作的原子。想必,通过使用几个这样的atomics,您可以构建一个并发
算法
,其中其他
内存
的排序是不重要的。所以我有两个问题: 能给我举一个
算法
/情况的例子,它可以从单个原子变量的排序
中
获益,而不
需要
栅栏
?现代处理器支持这种行为的?也就是说,编译器将不只是将特定的顺序转换为普通的
栅栏
。
浏览 3
提问于2011-04-06
得票数 4
回答已采纳
1
回答
修改第二线程可见锁
中
数据的
peterson
算法
、
、
以下是回复: 1.
需要
对flag0和flag1变量执行获取/释放操作,以确保它充当锁:解锁
中
的释放存储与下一个锁
中
的获取-加载同步,以确保
在
持有锁时修改的数据现在对第二个线程可见。我的理解是,
在
x86/64上,' store‘具有释放语义,而' load’具有获取语义(根本原因是
在
x86/64上只有存储加载重新排序),而'lock.flagid= false‘是'store','lock.flag1
浏览 1
提问于2017-04-17
得票数 2
1
回答
测试和设置vs
Peterson
算法
、
、
mutex和
Peterson
's Algorithm?的测试和set实现之间的区别是什么 它们
中
的哪一个实际上
在
实际系统中使用?
浏览 4
提问于2014-09-28
得票数 6
3
回答
为什么
GCC不使用负载(无
栅栏
)和STORE+SFENCE的顺序一致性?
、
、
、
、
以下是
在
x86/x86_64
中
实现顺序一致性的四种方法: Load Seq_Cst: LOCK然后我们可以重写这段代码
浏览 7
提问于2013-09-27
得票数 16
1
回答
Peterson
-2互斥
算法
、
、
、
经典的无争用复杂度是4(因为它对共享寄存器
内存
执行4次读/写操作)是否存在某种版本的
Peterson
-2
算法
,它
需要
更少的访问共享寄存器
内存
?
浏览 1
提问于2011-11-28
得票数 0
1
回答
修正
Peterson
算法
、
、
、
、
1)交换了进程P0
中
的语句标志=真和标志=假,并对进程P1进行了类似的更改。这也会给我-互斥、进步和有限度的等待吗?-我觉得互不相让是不会得到这种支持的。有人能给我提供更多这方面的信息吗?2)
Peterson
解决方案
中
的语句while (flag1 && turn = 1)改为while (flag1或匝=1),并在process P1
中
进行类似的更改。结果系统违反了临界段的哪些属性,
为什么
?-这仍然是互斥的,但我对进步和有界等待表示怀疑。有人能给我提供更多这方面的信息吗? 耽误您时间,
浏览 1
提问于2014-03-08
得票数 1
1
回答
在
Peterson
算法
中
,
在
启用标志之前设置turn变量
、
在
2个进程的
Peterson
算法
中
,我们有一个数组A= {bool a,bool b}和一个转向变量。
在
该
算法
中
,首先设置布尔值,然后将turn变量设置为另一个。如果我们修改
算法
,将turn变量设置为自身,而不是其他进程,
为什么
算法
不起作用?
浏览 24
提问于2021-02-04
得票数 0
1
回答
memory_order_seq_cst
栅栏
什么时候有用?
、
、
、
、
它
需要
一个
内存
顺序参数来调整
栅栏
的“强度”。 因此,所有这些(获取、释放和acq_rel
栅栏
)的有用性是显而易见的:它们允许使用比acq/rel弱的原子操作的线程正确地同步。但我不明白
为什么</em
浏览 2
提问于2019-12-13
得票数 6
1
回答
(操作系统)如何在c++中使用__asm?
、
、
、
、
主线程正在增加shared_var,但thread_1也
在
增加。任何帮助都将不胜感激。
浏览 1
提问于2020-04-08
得票数 0
回答已采纳
1
回答
x86非时态指令:线程本地数据是否
需要
隔离?
、
、
、
在
x86/x64上,非时态存储指令(如MOVNTI和MOVNTPS )比“常规”存储提供更弱的
内存
排序保证。我知道,当共享
内存
时,
栅栏
(例如SFENCE)是必要的,它将被写入线程间的非临时
内存
中
。然而,对于线程本地
内存
来说,
栅栏
指令是否是必需的?如果我通过MOVNTPS写入到某个位置,是否保证
在
没有任何
栅栏
指令的情况下,
在
同一线程
中
的后续指令
中
可以看到该
浏览 0
提问于2016-03-01
得票数 1
回答已采纳
3
回答
内存
栅栏
是否减慢了所有CPU核心?
、
、
、
、
在
某个地方,有一次我读到关于记忆障碍(障碍)的文章。据说,
内存
栅栏
会导致多个CPU核之间的缓存同步。 操作系统(或CPU本身)如何知道哪些核心
需要
同步?如果(2)的答案是“是”,并且假设同步操作不便宜,那么使用
内存
栅栏
是否会减慢我的应用程序不使用的核心?上面的问题是完全无知的和
栅栏
的工作方式完全不同吗?
浏览 1
提问于2014-09-13
得票数 13
回答已采纳
1
回答
如果我们证明没有饥饿,我们不
需要
证明没有死锁或活锁(进度)?
、
我
在
谷歌上搜索了
Peterson
算法
证明,并注意到大多数网站都不会费心去证明进度要求,这是
为什么
?有人能解释一下吗?
浏览 0
提问于2013-10-15
得票数 0
1
回答
中国数据自动化系统
中
的屏障当量(CLK_GLOBAL_MEM_FENCE)
、
、
、
、
在数据自动化系统
中
,何谓barrier(CLK_GLOBAL_MEM_FENCE) (OpenCL)?做__syncthreads()就足够了,还是__threadfence()对于全局
内存
围栏是必要的,还是两者都
需要
?
浏览 0
提问于2018-08-16
得票数 0
回答已采纳
1
回答
线程之间的
内存
隔离/屏障如何与其他线程
中
的隔离/屏障交互?
、
、
、
不同线程
中
的
内存
屏障之间的相互作用是什么? 更具体地说,线程
中
的
内存
围栏是否只阻止线程内指令的重新排序,或者线程之间是否存在同步,就像一个线程等待到另一个线程
中
的相应围栏为止?如果多个线程具有相同类型的
栅栏
,并且多个线程具有成对的
栅栏
,会发生什么情况?哪种类型的
栅栏
需要
在线程之间配对,以及如何使用它们?如果使用
内存
屏障的代码以单线程方式运行,会有什么影响?
浏览 24
提问于2020-12-08
得票数 0
1
回答
这些记忆屏障是必要的吗?
、
、
、
据我所知,
内存
障碍的目的是防止
在
两个不同变量之间重新排序
内存
操作。2存储操作进行重新排序,并在Thread 1
中
重新排序2 load操作。# Thread 1acquire_fencex = 42;f = 1;在我看来,这些情况之间的主要区别在于,
在
经典示例
中
,我们使用
内存
屏障,因为我们处
浏览 9
提问于2022-03-28
得票数 4
2
回答
使用
栅栏
确保其他线程的数据更新可见性
、
、
、
是否
需要
一组获取/释放屏障,或者线程是否通过使用互斥来隐式同步?如果我不使用互斥锁(但要确保独占访问)怎么办?还有:
栅栏
是否真的
在
没有交错/后续原子操作的情况下执行任何操作(例如,
在
atomic_bool
中
存储标志,发出“就绪”信号等)?
浏览 1
提问于2015-11-16
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
为什么区块链需要争取在企业中获得牵引力?
只有老玩家才知道的《迷你世界》游戏特性,床原来是最强方块?
英伟达发布RTX A2000 GPU,小巧、节能是亮点,可轻松装入小型工作站
JVM垃圾回收浅析
桌面杂乱无章?Fences来帮你,一键整理清爽生活,你不想试试吗?
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券