У меня очень тупой вопрос. Если я использую AtomicReferences, то сравниваюAndSet следующим образом:
original.set(atomic.get());
long next = some new value
atomic.compareAndSet(original.get(), next);
....more code....
- больше кода обновляется, если сравнение не удается (т.е. атоми c были обновлены другим потоком). Я пытаюсь найти ошибку в назначении, и это единственная вещь, о которой я могу думать, и я пытался в течение нескольких часов.
PS Как ни странно, если я использую синхронизацию в этом коде, это дает мне правильный ответ на моем ноутбуке, но не на моем рабочем столе