Пакет java.util.concurrent.atomic
Пакет java.util.concurrent.atomic - это набор классов, поддерживающих неблокирующее поточно-ориентированное программирование для отдельных переменных. По сути, классы в этом пакете расширяют понятие volatile значений, полей и элементов массива до тех, которые также обеспечивают атомарную операцию условного обновления формы: boolean compareAndSet(expectedValue, updateValue); Этот метод (который различается по типам аргументов в разных классах) атомарно устанавливает переменную updateValue, если она в настоящее время содержит ожидаемое значение, возвращая true в случае успеха. Классы в этом пакете также содержат методы для получения и безоговорочной установки значений, а также более слабую операцию условного атомарного обновления weakCompareAndSet. Спецификации этих методов позволяют реализациям использовать эффективные атомарные инструкции машинного уровня, доступные на современных процессорах. Однако на некоторых платформах поддержка может повлечь за собой некоторую форму внут...