布尔值判断
不过在多线程中不正确,资源共享时会执行多次,必须加锁来保证数据的正确性,保证线程的安全。
用GCD 实现
事例代码:
+ (instancetype)shareSingletonTool
{
static dispatch_once_t onceToken;
static AMSingleton* tool;
dispatch_once(&onceToken, ^{
tool = [[self alloc] init];
});
return tool;
}
GCD实现单例模式
本文介绍使用GCD(Grand Central Dispatch)实现线程安全的单例模式。通过dispatch_once确保初始化只执行一次,避免了多线程环境下资源被重复初始化的问题。文中提供了一个具体的实例代码,展示了如何创建一个安全的单例工具。
2816

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



