Spec-Zone.ru › Kotlin 1.9

Volatile

kotlin-stdlib / kotlin.concurrent / Volatile
Требования к платформе и версии: Native (1.9)
@Target([AnnotationTarget.FIELD]) annotation class Volatile
Требования к платформе и версии: JVM (1.9)
typealias Volatile = Volatile
Для JVM

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

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

Для Common

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

Эта аннотация имеет эффект в Kotlin/JVM и Kotlin/Native.

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

Для Native

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

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

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

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

<init>

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

<init>()

© 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/-volatile/index.html

Spec-Zone.ru

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