dispatch_once 写出 High Big Top 的单例类
2015-10-05 22:03
323 查看
//dispatch_once 添加的任务 在整个程序运行期间只会执行一次。(重复添加无效)
//向队列中添加执行一次的任务
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"真的只执行一次");
});
//这个是不能执行的。
dispatch_once(&onceToken, ^{
NSLog(@"能不能执行第二次");
});
=====================
单例类
#import <Foundation/Foundation.h>
@interface Singleton :
NSObject
+(Singleton *)shareSingleton;
@end
=========================
#import "Singleton.h"
@implementation Singleton
//最新单例写法出炉
+(Singleton *)shareSingleton
{
static Singleton *singleton =
nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
singleton = [self
new];
});
return singleton;
}
@end
//向队列中添加执行一次的任务
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"真的只执行一次");
});
//这个是不能执行的。
dispatch_once(&onceToken, ^{
NSLog(@"能不能执行第二次");
});
=====================
单例类
#import <Foundation/Foundation.h>
@interface Singleton :
NSObject
+(Singleton *)shareSingleton;
@end
=========================
#import "Singleton.h"
@implementation Singleton
//最新单例写法出炉
+(Singleton *)shareSingleton
{
static Singleton *singleton =
nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
singleton = [self
new];
});
return singleton;
}
@end
相关文章推荐
- nginx+gunicorn+bottle
- test命令在shell脚本中的应用
- 必 备 习 题 集 (五)
- Ubuntu添加用户和删除
- 【Linux 移植 】——4、移植 u-boot-2012.04.01 之 支持NAND启动
- IM6Q yocto平台 uboot v2014.04_3.14.28_1.0.0_ga编译和调试
- HA高可用方案之heartbeat v1的安装配置
- linux下并行运行脚本与让程序可靠运行
- [C++] Pen questions & linux cmd
- POJ 3573 I18n (字符串乱搞)Northeastern Europe 2007
- win8.1上wamp环境中利用apache自带ab压力测试工具使用超简单讲解
- 【2015/10/3】Linux学习日志_Day5 SSH 压缩解压 repo文件 自制yum源
- 程序猿常去的网站
- linux PHP 编译参数详解
- uva 10801 - Lift Hopping
- linu学习笔记(2)-shell命令简介
- OpenCV 学习(图像的基本运算)
- 第二十一天:LNMP 架 构 的 搭 建
- OpenCV 学习(图像的基本运算)
- hadoop中遇到的问题。