Spec-Zone.ru › Kotlin 2

Volatile

kotlin-stdlib/kotlin.jvm/Volatile

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
expect annotation class Volatile

Устарело

Предупреждение начиная с 1.9

Ошибка начиная с 2.1

Вместо этого используйте аннотацию kotlin.concurrent.Volatile в мультиплатформенном коде.

Заменить на

import kotlin.concurrent.Volatile
kotlin.concurrent.Volatile

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

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

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

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
actual annotation class Volatile

Устарело

Предупреждение начиная с 1.9

Ошибка начиная с 2.1

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

Заменить на

import kotlin.concurrent.Volatile
kotlin.concurrent.Volatile

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

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

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

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

@Target(allowedTargets = [AnnotationTarget.FIELD])
actual annotation class Volatile

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

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

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.jvm/-volatile/index.html

Spec-Zone.ru

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