static
DataManager
*
sharedDataManager
=
nil;
+
(DataManager
*
) sharedManager
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
[[self alloc] init];
}
}
return
sharedDataManager;
}
+
(id)allocWithZone:(NSZone
*
)zone
{
@synchronized(self)
{
if
(sharedDataManager
==
nil)
{
sharedDataManager
=
[super allocWithZone:zone];
return
sharedDataManager;
}
}
return
nil;
}
Objective —C 的单例模式 Singleton实现
本文通过Objective-C代码展示了如何使用单例模式来管理共享资源。具体实现中运用了双重检查锁定及synchronized关键字来确保线程安全,并且有效地避免了多次实例化的问题。通过allocWithZone方法控制单例对象的创建过程。

被折叠的 条评论
为什么被折叠?



