gpt4 book ai didi

.net - Interlocked.CompareExchange(double,double,double) 在 32 位操作系统中工作吗?

转载 作者:行者123 更新时间:2023-12-02 00:43:06 25 4
gpt4 key购买 nike

我正在维护一个可以由多个线程操作的高性能类。许多字段都是 volatile 整数,事实证明我需要将其中一个升级为 double 。我很好奇是否有一种无锁的方式来做到这一点,并且想知道 Interlocked.CompareExchange(double, double, double) 是否像在 32 位操作系统上宣传的那样工作,或者被撕裂读出问题。

最佳答案

This page详细介绍了“ native ”联锁功能的内在特性。它提到了以下限制

因为 _InterlockedCompareExchange64 使用 cmpxchg8b 指令,它在奔腾之前的处理器上不可用,例如 486。

因此我们可以预期它是可用的,并且也实现为互锁指令操作(而不是使用全锁来模拟)。

关于.net - Interlocked.CompareExchange(double,double,double) 在 32 位操作系统中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1922916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com