2012-09-06 12 views
4

我讀過使用原子包類使我們能夠線程安全,鎖定較少的編碼。 但我不太清楚在沒有使用鎖或任何同步關鍵字的情況下,atomic包的類中的方法如何提供線程安全性。任何幫助都將不勝感激。原子包類如何作爲AtomicInteger等工作

回答

12

他們使用非常低級別的指令,例如Compare and Swap以及sun.misc.Unsafe類中的多個其他方法。

基本上,像compareAndSwap()這樣的方法調用將對應於一條獨特的處理器指令,這可以消除很多多線程問題。