我在斯威夫特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