top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Difference between volatile and atomic variable in Java?

+1 vote
1,515 views
Difference between volatile and atomic variable in Java?
posted Apr 28, 2015 by Joy Nelson

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes

At first, volatile and atomic variable look very similar, but they are different. Volatile variable provides you happens-before guarantee that a write will happen before any subsequent write, it doesn’t guarantee atomicity. For example count++ operation will not become atomic just by declaring count variable as volatile. On the other hand AtomicInteger class provides atomic method to perform such compound operation atomically e.g. getAndIncrement() is atomic replacement of increment operator. It can be used to atomically increment current value by one. Similarly you have atomic version for other data type and reference variable as well.

answer Apr 29, 2015 by Karthick.c
Doesn't volatile on primitive types guarantee atomicity?
...