如何在Kotlin上使用volatile
我尝试了这样的事情:
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 var name:String = "stack"
结果字段声明相当于Java的:
private volatile java.lang.String name;
根据@Volatile文档:
将注释的属性的JVM支持字段标记为易失性,这意味着对该字段的写入立即使其他线程可见。
Kotlin没有一个volatile
关键字,而是一个注释: @Volatile
( https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/volatile/ )