10

我已经读过使用原子包类使我们能够进行线程安全,锁定更少的编码。但我不太确定 atomic 包的类中的方法如何在不使用锁或任何同步关键字的情况下提供线程安全。任何帮助都将不胜感激。

4

1 回答 1

17

他们使用非常低级的指令,例如比较和交换,以及sun.misc.Unsafe类中的多种其他方法。

基本上,类似的方法调用compareAndSwap()将对应一个独特的处理器指令,从而消除了许多多线程问题。

于 2012-09-06T16:45:07.663 回答