1

Java 的原子变量(如 AtomicInteger)如何在内部工作以实现互斥/原子性?

机器指令级别是否涉及任何锁定以产生更好的性能?

或者,与常规机器指令集相比,原子机器级指令本身会执行此操作,其中值从主存储器复制到寄存器/缓存并在该寄存器上执行操作,然后再存储回主存储器。

4

1 回答 1

1

afaik 它利用了这种原语已经可用的 CPU 指令。或者至少,在存在这些指令的 CPU 中(不知道是否全部,这是 jvm 可移植内容的一部分)。在那些没有的情况下,可能会使用某种锁定。

我想你已经这样做了,但以防万一:在这里你可以阅读一些简短的细节。

于 2017-08-07T06:05:21.933 回答