如何在Kotlin中使用挥发性物质

Ant*_*t20 10 kotlin

我试过这样的事情:

private volatile var instanceState: InstanceState = InstanceState.starts

Error:  'Expected member declaration'
Run Code Online (Sandbox Code Playgroud)

和这样:

private volatile var instanceState: InstanceState = InstanceState.starts

Error:  'Property getter or setter expected'
Run Code Online (Sandbox Code Playgroud)

Kotlin不支持易失性?

mie*_*sol 18

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

@Volatile var name:String = "stack"
Run Code Online (Sandbox Code Playgroud)

结果字段声明等同于Java:

private volatile java.lang.String name;
Run Code Online (Sandbox Code Playgroud)

根据@Volatile文档:

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