compareAndExchange
fun compareAndExchange(expected: T, newValue: T): T
Атомарно устанавливает значение на заданное новое значение, если текущее значение равно ожидаемому значению, и в любом случае возвращает старое значение.
Обеспечивает гарантии последовательной согласованности и не может ошибаться случайным образом.
Сравнение значений выполняется по ссылке.
В случае устаревшей MM: если новое значение не равно null, оно должно быть замороженным или постоянным объектом.
Исключения
InvalidMutabilityException - в случае устаревшей MM, если значение не заморожено или не является постоянным объектом
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.concurrent/-atomic-reference/compare-and-exchange.html