Теория
Для чего нужны атомарные классы Java, например AtomicInteger?
AtomicInteger и другие атомарные классы позволяют безопасно выполнять отдельные операции над общим значением из нескольких потоков, например incrementAndGet или compareAndSet.
Читать ответ