用dispatch_once创建单一实例
来源:互联网 发布:淘宝卖童装货源 编辑:程序博客网 时间:2024/05/17 01:33
使用
dispatch_once可以确保 在整个 Application 中,实例只被创建一次
void dispatch_once( dispatch_once_t *predicate, dispatch_block_t block);
该函数接收一个dispatch_once用于检查该代码块是否已经被调度的谓词(是一个长整型,实际上作为BOOL使用)。它还接收一个希望在应用的生命周期内仅被调度一次的代码块,对于本例就用于shared实例的实例化。
dispatch_once不仅意味着代码仅会被运行一次,而且还是线程安全的,这就意味着你不需要使用诸如@synchronized之类的来防止使用多个线程或者队列时不同步的问题。
如:
+ (SStarUsers *)sharedInstance
{
staticSStarUsers * _sharedInstance = nil;
staticdispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_sharedInstance = [[SStarUsersalloc] init];
});
return _sharedInstance;
}
0 0
- 用dispatch_once创建单一实例
- IOS 用dispatch_once创建单利
- 用 GCD dispatch_once创建单例方法
- dispatch_once创建单例
- dispatch_once创建单例
- dispatch_once创建单例
- dispatch_once创建单例
- dispatch_once 创建单例
- dispatch_once创建单列
- 使用dispatch_once创建单利
- dispatch_once创建单例
- 利用dispatch_once创建单例
- 利用dispatch_once创建单例
- 利用dispatch_once创建单例
- 利用dispatch_once创建单例
- 利用dispatch_once创建单例
- 使用dispatch_once创建单例
- dispatch_once函数创建单例
- USACO Section 1.5
- 信息存储与IT管理——互动出版网
- 黑马程序员——Java之多线程(1)
- 圆角边框
- jfinal图片上传
- 用dispatch_once创建单一实例
- 舒服,清爽的编程背景设置
- 一段启发人内心的视频 &&国学正能量
- Scala包和引用
- mysql 修改root密码
- 基于Netty的RPC简单框架实现(四):Netty实现网络传输
- Java泛型的使用
- Session的生命周期
- 深入浅出VMware的组网模式