The java.util.concurrent.atomic package offers classes such as AtomicInteger, AtomicLong, AtomicBoolean and AtomicReference that perform single-variable updates atomically without explicit locking. They rely on hardware compare-and-swap (CAS) instructions: an update succeeds only if the value has not changed since it was read, and retries otherwise. They also have volatile-like visibility, so every thread sees the latest value.
Keep reading for free
Create a free StudyToCert account to read the rest of this lesson: 6 more sections, 5 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.