AtomicXXX.get()等效

时间:2014-07-07 20:25:42

标签: c# multithreading atomic volatile interlocked

在Java中,AtomicIntegerAtomicLong似乎实现了与.NET Interlocked相同的功能。此外,它们提供get()方法来读取最新值(可能与存储在CPU缓存中的值不同):

    private volatile int value;

    // ...

    /**
     * Gets the current value.
     *
     * @return the current value
     */
    public final int get() {
        return value;
    }

另一方面,Interlocked仅为64位值提供Read(...)方法,这只保证它们一致(即在32位系统上)你不读任何垃圾),但读取的值不是最新的

现在的问题。如果我将volatile变量与Interlocked结合使用,是否可以保证该值可以递增/递减读取/写入原子

0 个答案:

没有答案