Swift线程安全的单例实现
发布时间:2020-12-14 07:02:48 所属栏目:百科 来源:网络整理
导读:介绍 单例模式在开发中尤为常见,最大的好处就是内存中只会保留一个对象,节省内存开销,同时便于对象的建立和维护。 一个简单的单例 class Singleton { static let sharedInstance = Singleton() } 这个单例,如此的简单那么他是线程安全的吗?答案是———
介绍
一个简单的单例class Singleton { static let sharedInstance = Singleton() }
class Singleton { class var shared: Singleton { return Inner.instance } struct Inner { static let instance: Singleton = Singleton() } } 用GCD来实现线程安全class Singleton { class var shared: Singleton { if Static.instance != nil{ dispatch_once(&Static.onceToken) { Static.instance = Singleton() } } return Static.instance! } struct Static { static var instance: Singleton? static var onceToken: dispatch_once_t = 0 } }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |