iOS多线程中的单例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS多线程中的单例相关的知识,希望对你有一定的参考价值。
1 #import "MyHandle.h" 2 3 static MyHandle *handle = nil; 4 @implementation MyHandle 5 // 传统写法 6 // 此时如果多个任务并发执行,他就不会满足单例的优点 7 //+ (MyHandle *)shareMyHandle { 8 // if (nil == handle) { 9 // handle = [[MyHandle alloc] init]; 10 // } 11 // return handle; 12 //} 13 14 // 多线程中的写法 15 + (MyHandle *)shareMyHandle { 16 // 在GCD 中保证只执行一次, 用于记录内容是否执行过 17 static dispatch_once_t onceToken; 18 dispatch_once(&onceToken, ^{ 19 handle = [[MyHandle alloc] init]; 20 }); 21 return handle; 22 } 23 24 @end
以上是关于iOS多线程中的单例的主要内容,如果未能解决你的问题,请参考以下文章