Многопоточность middle
Atomic-классы — как работают без блокировок?
Ответ
Через CAS (compare-and-swap) — атомарную инструкцию CPU. Lock-free. Классы: AtomicInteger, AtomicLong, AtomicReference.
Разбор: Atomic-классы работают lock-free через аппаратную инструкцию CAS (compare-and-swap): значение меняется только если оно не изменилось с момента чтения, иначе операция повторяется в цикле. Ловушки: volatile сам по себе даёт лишь видимость, а не атомарность i++; никакого монитора или спин-лока с эксклюзивной блокировкой здесь нет — в этом и смысл отсутствия блокировок.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.