Can some one explain what AtomicLong is used for? For example, what's the difference in the below statements?
private Long transactionId;
private AtomicLong transactionId;
Can some one explain what AtomicLong is used for? For example, what's the difference in the below statements?
private Long transactionId;
private AtomicLong transactionId;
Copyright © 2021 Jogjafile Inc.
There are significant differences between these two objects, although the net result is the same, they are definitely very different and used under very different circumstances.
You use a basic
Long
object when:You use an
AtomicLong
when:Long
by itself doesn't allow for thread interopability since two threads could both see and update the same value, but with anAtomicLong
, there are pretty decent guarantees around the value that multiple threads will see.Effectively, unless you ever bother working with threads, you won't need to use
AtomicLong
.