Атомарность метода 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • AtomicInteger.incrementAndGet() и AtomicInteger.getAndIncrement()
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Использование AtomicInteger в качестве счетчика для списка
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Использование AtomicInteger в качестве счетчика для списка
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как работает «Сравнить и установить» в AtomicInteger
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • SQLAlchemy и Bigquery не учитывают атомарность транзакций
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

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