kotlin - 如何在 Kotlin 中使用 volatile

标签 kotlin

我尝试过这样的事情:

private volatile var instanceState: InstanceState = InstanceState.starts

Error:  'Expected member declaration'

像这样:

private volatile var instanceState: InstanceState = InstanceState.starts

Error:  'Property getter or setter expected'

Kotlin 不支持 Volatile ?

最佳答案

您可以使用 @Volatile 将属性标记为 volatile注释:

@Volatile var name:String = "stack"

生成的字段声明等同于 Java 的:

private volatile java.lang.String name;

根据 @Volatile文档:

Marks the JVM backing field of the annotated property as volatile, meaning that writes to this field are immediately made visible to other threads.

关于kotlin - 如何在 Kotlin 中使用 volatile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37852390/

相关文章:

java - Kotlin 中的包等效可见性修饰符

android - 使用 Gradle Kotlin DSL 在 settings.gradle.kts 中设置 gradle.ext

java - 如何使用 lambda 调用具有多个相似签名的 Kotlin 方法?

Kotlin 按降序对 hashmap 进行排序

android - 单击 fragment 后显示条形图

generics - Kotlin泛型Out-projected类型禁止使用

kotlin - 使用 Kotlin JS 'fun <T> parse(text: String): T` 解析 JSON?

android - 如何在 Kotlin 中为环境设置不同的常量

kotlin - 我们如何使用自动重载呢?

kotlin - 如何在 Kotlin 中使用 foldRight()?