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

被折叠的 条评论
为什么被折叠?



