我试过这样的事情:
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不支持易失性?
答案 0 :(得分:16)
您可以使用@Volatile注释将属性标记为volatile
:
@Volatile var name:String = "stack"
结果字段声明等同于Java:
private volatile java.lang.String name;
根据@Volatile文档:
将带注释的属性的JVM支持字段标记为volatile, 意味着写入此字段立即可见 其他线程。
答案 1 :(得分:0)
Kotlin没有volatile
个关键字,但有一个注释:@Volatile
(https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-volatile/)