Volatile
@Target([AnnotationTarget.FIELD]) @DeprecatedSinceKotlin("1.9") annotation class Volatile Устарело: Вместо этого используйте аннотацию kotlin.concurrent.Volatile в коде для нескольких платформ.@Target([AnnotationTarget.FIELD]) annotation class Volatile
Для JVM
Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.
Обратите внимание, что только операции с полем базового уровня атомны, когда поле анотировано Volatile. Например, если метод получения или установки свойства выполняет несколько операций с базовым полем, операция с свойством, то есть чтение или установка через эти методы доступа, не гарантируется, что будет атомарной.
Для Common
Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.
Эта аннотация имеет эффект только в Kotlin/JVM. В проектах с несколькими платформами рекомендуется использовать аннотацию kotlin.concurrent.Volatile вместо нее.
Обратите внимание, что только операции с полем базового уровня атомны, когда поле анотировано Volatile. Например, если метод получения или установки свойства выполняет несколько операций с базовым полем, операция с свойством, то есть чтение или установка через эти методы доступа, не гарантируется, что будет атомарной.
Конструкторы
<init>
Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.
<init>()
Расширяемые свойства
annotationClass
Возвращает экземпляр KClass, соответствующий типу аннотации этой аннотации.
val <T : Annotation> T.annotationClass: KClass<out T>
© 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.jvm/-volatile/