码迷,mamicode.com
首页 > 移动开发 > 详细

iOS多线程中的单例

时间:2016-05-28 17:22:29      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

 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多线程中的单例

标签:

原文地址:http://www.cnblogs.com/crazygeek/p/5537613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!