Java 中的原子操作
在多線程處理過程中,當多個線程同時訪問和寫入同一變量時,變量的值可能會變得不一致。為了維護資料完整性,Java 提供了原子操作來確保某些操作的不可分割性。如果一個操作看似完成而沒有中斷,則該操作是原子的。
Java 中的原子操作
Java 中的以下操作被視為原子操作:
限制
需要注意原子性並不意味著可見性。雖然部分寫入的 int 變數保證對其他執行緒不可見,但新值可能不會立即可見。
常見 CPU 上的 64 位元值
在 64 位元架構的 CPU 上,長整型和雙精度變數的操作通常也是原子的。然而,JVM 規範並不能保證這一點。為了更精確的原子性控制,請考慮使用 java.concurrent.atomic 套件中的 AtomicLong 或 AtomicDouble 類別。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3