为多个线程共享的变量提供原子操作。
"原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切[1] 换到另一个线程)。
Add(Int64, Int64) |
对两个 64 位整数进行求和并用和替换第一个整数,上述操作作为一个原子操作完成。 |
CompareExchange(Int64, Int64, Int64) |
比较两个 64 位有符号整数是否相等,如果相等,则替换第一个值。 |
Decrement(Int64) |
以原子操作的形式递减指定变量的值并存储结果。 |
Exchange(Int64, Int64) |
以原子操作的形式,将 64 位有符号整数设置为指定的值并返回原始值。 |
Increment(Int32) |
以原子操作的形式递增指定变量的值并存储结果。 |