如何在Kotlin中使用volatile

时间:2016-06-16 07:18:54

标签: 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不支持易失性?

2 个答案:

答案 0 :(得分:16)

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

@Volatile var name:String = "stack"

结果字段声明等同于Java:

private volatile java.lang.String name;

根据@Volatile文档:

  

将带注释的属性的JVM支持字段标记为volatile,   意味着写入此字段立即可见   其他线程。

答案 1 :(得分:0)

Kotlin没有volatile个关键字,但有一个注释:@Volatilehttps://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-volatile/