Spec-Zone.ru › Kotlin 1.9

<init>

kotlin-stdlib / kotlin.jvm / Volatile / <init>
Требования к платформе и версии: JVM (1.0), JS (1.1)
<init>()
Для JVM

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

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

Для Common

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

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

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

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

Spec-Zone.ru

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