[OC]Singleton的一种简便实现方式
2013-05-01 09:52
447 查看
static dispatch_queue_t xml_request_operation_processing_queue() { static dispatch_queue_t af_xml_request_operation_processing_queue; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ af_xml_request_operation_processing_queue = dispatch_queue_create("com.alamofire.networking.xml-request.processing", DISPATCH_QUEUE_CONCURRENT); }); return af_xml_request_operation_processing_queue; }
通过dispatch_once执行一次来保证af_xml_request_operation_processing_queue只有一次实例化的机会~
这个方法能够很好的在任何类中调起单例的时候使用~
下面为singleton启一个单独的线程
+ (void) __attribute__((noreturn)) networkRequestThreadEntryPoint:(id)__unused object { do { @autoreleasepool { [[NSThread currentThread] setName:@"AFNetworking"]; [[NSRunLoop currentRunLoop] run]; } } while (YES); } + (NSThread *)networkRequestThread { static NSThread *_networkRequestThread = nil; static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate, ^{ _networkRequestThread = [[NSThread alloc] initWithTarget:self selector:@selector(networkRequestThreadEntryPoint:) object:nil]; [_networkRequestThread start]; }); return _networkRequestThread; }
相关文章推荐
- [OC]Singleton的一种简便实现方式
- 对一种基于CAS的Singleton实现方式的探讨
- python 元类型编程, 单例模式SingleTon的一种实现方式
- Singleton_模式_关于单例(Singleton)模式实现方式的反思
- Preferences(首选项)(恢复默认功能)的一种简单的实现方式
- J.U.C--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
- 【剑指Offer学习】【面试题2 : 实现Singleton 模式——七种实现方式】
- APP中一种在Java层实现的简单守护进程方式
- rsync实现免密码操作的一种实现方式
- 一种经典的邻接表的实现和遍历方式
- 以STL::map实现引用表的一种方式
- Android图表库MPAndroidChart(六)——换一种思考方式,水平条形图的实现过程
- DOJO-dijit.Tree(异步树的一种实现方式)
- 剑指Offer 面试题2 : 实现Singleton(单例)模式——七种实现方式
- 实现二级菜单的一种方式--没有js 运行不了,主要看代码红色部分,只提供思路
- 一种创建实例的简便方式
- 一种简单的方式实现Cocos2d-x 2.x版本按层级关系派发Touch事件
- js实现关于分页的一种实现方式
- 优先队列的一种实现方式——堆
- 一种偷懒方式实现心电图(Xfermode简单应用)