Здравствуйте, trupanka, Вы писали:
UDI>>Единственное что мне не понятно — почему в счетчике они использовали compareAndSet, а не incrementAndGet? Наверное, таким образом подводили ко второму примеру.
T>Здесь размышляют, зачем там два раза вычисляют v + 1
Хм, да. Но, тем не менее, правильно. Происходит два вычисления выражения v+1, но не v+1+1. На производительности не сильно скажется, но я считаю, что автор статьи просто красиво подводил читателя к использованию compareAndSet во втором примере. Просто, чтобы идея подхода к реализации была аналогичной — с while и compareAndSet.