同步属性获取者/设置者
所以我试图去处理Kotlin如何处理属性的同步。 如果我有这个班级:
class Foo { var a = 0 var b = 0 }
我想确保a&b具有同步的所有访问权限。 我该怎么做? 我试过使用注释:
class Foo { @Synchronized var a = 0 @Synchronized var b = 0 }
但Kotlin给我一个编译器错误:
This annotation is not applicable to target 'member property with backing field'
我只是想在Kotlin上更好地处理线程安全问题。 这是我一直在Java的强迫症,我试图找出如何妥善处理它在Kotlin。
您无法在属性上同步,但可以在访问器方法上同步。 使用以下语法:
class Foo { var a = 0 @Synchronized get @Synchronized set //or @get:Synchronized @set:Synchronized var b = 0 }