Атомарность метода getAndUpdate Java AtomicIntegerJAVA

Программисты JAVA общаются здесь
Anonymous
Атомарность метода getAndUpdate Java AtomicInteger

Сообщение Anonymous »

Если существует AtomicInteger и для него вызывается метод getAndUpdate, будет ли он атомарным? (пример ниже) Например, есть 2 потока, есть ли гарантия, что второй вызов всегда будет получать обновленную версию?

Код: Выделить всё

AtomicInteger ai = new AtomicInteger(0); // initialized in constructor
...
int value = ai.getAndUpdate(x -> (x+1) % 4); // called in some method
Я ожидаю, что второй вызов всегда будет получать обновленную версию, но из-за операций модуля и приращения внутри функции lamdba я не уверен, является ли это атомарной операцией.

Подробнее здесь: https://stackoverflow.com/questions/783 ... ate-method

Вернуться в «JAVA»