ArthurDn ArthurDn - 2 months ago 11
Java Question

What is the safest way to check AtomicBoolean and perform something?

Are any ways to make this operations like one operatinon (kind of custom atomic)?

if (!isShutdownStarted.get()
&& !QUEUE.contains(request.getUserEmail())) {
try {

Code in other thread

public void contextDestroyed(ServletContextEvent servletContextEvent) {
while (!PaymentClient.QUEUE.isEmpty());


You cannot use an AtomicBoolean to make another operation or sequence of operations atomic.

If you need to make an intrinsically non-atomic operation or sequence atomic, you need to use locking; e.g. a primitive mutex, a Lock or something equivalent.