我在斯威夫特3中创建一个简单单的单身getter和setter:线程安全的
class MySingleton {
private var myName: String
private init() {}
static let shared = MySingleton()
func setName(_ name: String) {
myName = name
}
func getName() -> String {
return myName
}
}
因为我做了init()
私有的,也宣告shared
实例是static let
,我想初始化是线程安全的。但是myName
的getter和setter函数又是如何线程安全的?
我认为它不是线程安全的,即使它是单例或不是 –
如何使线程安全? –
添加串行调度队列作为该类的成员,并对其执行get/set操作 – Alexander