我认为这个原子操作比++
. 我只看到有利的一面Interlocked.Increment
。它的缺点是什么?
问问题
1285 次
2 回答
11
原子意味着它是线程安全的(即一个线程不可能读取值而另一个线程正在更改它。)由于需要使用线程同步机制,这使得它变得更慢,而不是更快。如果你不关心线程安全,你想使用 ++。 下面是一些关于 ++ 运算符在不同上下文中的相对性能的讨论。
于 2011-05-23T13:43:25.627 回答
1
原子并不意味着它更快。事实上,它几乎肯定会更慢。
在并发编程中,一个操作(或一组操作)是原子的、可线性化的、不可分割的或不可中断的,如果它对系统的其余部分来说是瞬间发生的。
这仅仅意味着在操作过程中没有可观察到的副作用。它没有说明手术需要多长时间。
于 2011-05-23T13:47:22.430 回答