Spec-Zone.ru › Kotlin 1.9

Volatile

kotlin-stdlib / kotlin.jvm / Volatile
Требования к платформе и версии: JS (1.1)
@Target([AnnotationTarget.FIELD]) @DeprecatedSinceKotlin("1.9") annotation class Volatile
Устарело: Вместо этого используйте аннотацию kotlin.concurrent.Volatile в коде для нескольких платформ.
Требования к платформе и версии: JVM (1.0)
@Target([AnnotationTarget.FIELD]) annotation class Volatile
Для JVM

Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.

Обратите внимание, что только операции с полем базового уровня атомны, когда поле анотировано Volatile. Например, если метод получения или установки свойства выполняет несколько операций с базовым полем, операция с свойством, то есть чтение или установка через эти методы доступа, не гарантируется, что будет атомарной.

Для Common

Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.

Эта аннотация имеет эффект только в Kotlin/JVM. В проектах с несколькими платформами рекомендуется использовать аннотацию kotlin.concurrent.Volatile вместо нее.

Обратите внимание, что только операции с полем базового уровня атомны, когда поле анотировано Volatile. Например, если метод получения или установки свойства выполняет несколько операций с базовым полем, операция с свойством, то есть чтение или установка через эти методы доступа, не гарантируется, что будет атомарной.

Конструкторы

Требования к платформе и версии: JVM (1.0), JS (1.0)

<init>

Помечает поле JVM, которое лежит в основе анотированного var свойства как volatile, что означает, что чтение и запись в это поле атомны, и записи всегда видны другим потокам. Если другой поток считывает значение этого поля (например, через его метод доступа), он видит не только это значение, но и все побочные эффекты, которые привели к записи этого значения.

<init>()

Расширяемые свойства

Требования к платформе и версии: JVM (1.0)

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API