我认为这种原子操作比++
快。我只看到有利于Interlocked.Increment
的优势。它的缺点是什么?
答案 0 :(得分:11)
Atomic意味着它是线程安全的(即,一个线程无法读取该值而另一个线程正在更改它。)由于需要使用线程同步机制,这使得它更慢,而不是更快。如果你不关心线程安全,你想使用++。 Here是关于++运算符在不同上下文中的相对性能的讨论。
答案 1 :(得分:1)
Atomic并不意味着它更快。事实上,它几乎肯定会变慢。
在并发编程中, 操作(或操作集)是 原子的,可线性化的,不可分割的或 如果看起来像是不间断的 系统的其余部分发生 瞬间。
这仅仅意味着在手术过程中没有可观察到的副作用。它没有说明操作需要多长时间。