Volatile 變量可以確保先行關系,即寫操作會發生在后續的讀操作之前, 但它並不
能保證原子性。例如用 volatile 修飾 count 變量那么 count++ 操作就不是原子
性的。
而 AtomicInteger 類提供的 atomic 方法可以讓這種操作具有原子性如
getAndIncrement()方法會原子性的進行增量操作把當前值加一,其它數據類型
和引用變量也可以進行相似操作。
Volatile 變量可以確保先行關系,即寫操作會發生在后續的讀操作之前, 但它並不
能保證原子性。例如用 volatile 修飾 count 變量那么 count++ 操作就不是原子
性的。
而 AtomicInteger 類提供的 atomic 方法可以讓這種操作具有原子性如
getAndIncrement()方法會原子性的進行增量操作把當前值加一,其它數據類型
和引用變量也可以進行相似操作。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。