GCD简介GCD全称Grand Central Dispatch,可翻译为“牛逼的中枢调度器”。纯C语言,提供了非常多强大的函数。GCD优势:GCD是苹果公司为多核的并行运算提出的解决方案。GCD会自动利用更多的CPU内核(比如双核、四核)。GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线...
分类:
移动开发 时间:
2014-10-21 19:36:59
阅读次数:
249
#import "ViewController.h"@interface ViewController (){ }@property (nonatomic,strong) dispatch_semaphore_t sema;@end@implementation ViewControll...
分类:
其他好文 时间:
2014-10-16 20:24:43
阅读次数:
170
这两天在看《OC高级编程-多线程编程和内存管理》日本人写的那本,该书对arc,block和gcd有了更深层次的解读,非常不错。现在总结一下gcd相关的知识。有关arc和block的参考arc 参考block
网上很多博客都对gcd有过讲解,很多是对gcd的全局队列,主线程队列,创建队列等等,做了单方面的描述,不是很全面系统。下面我们将学习一下系统得gcd。本文主要分为下面几个要点,前几个好点比较好理解,最后可能理解起来有些费劲!
● 什么是gcd,iOS为什么要用多线程
● 创建线程,序列线程和...
分类:
移动开发 时间:
2014-08-27 13:03:47
阅读次数:
376
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这里主要介绍下在arc下,利用gcd实现单例。第一步:声明一个静态实例static SoundTool *_instance;第二步:重写初始化方法+ (id)allocWithZone:(struct _NSZone *)z...
分类:
移动开发 时间:
2014-08-16 23:37:21
阅读次数:
289
使用GCD机制来实现倒计时功能。Demo实现的是类似注册页面发送验证码的倒计时。
__block int timeout=30; //倒计时时间
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t _timer ...
分类:
其他好文 时间:
2014-06-15 07:45:52
阅读次数:
218
iOS中单例模式的实现一般分为两种:MRC和ARC+GCD 1.MRC(非ARC)
非ARC的单例的实现方式: #import @interface
NoARCSingleton:NSObject//这个属性在后面调试有用处,而且也不要苦恼为什么是retain?不应该是copy么?请继续看...
分类:
移动开发 时间:
2014-06-10 08:25:25
阅读次数:
390
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这里主要介绍下在arc下,利用gcd实现单例。第一步:声明一个静态实例staticSoundTool
*_instance;第二步:重写初始化方法+ (id)allocWithZone:(struct _NSZone *)zo...
分类:
移动开发 时间:
2014-05-29 02:49:34
阅读次数:
367
在IOS中,所有对象的内存分配的方法都会调用allocWithZone,比如构造函数alloc,所以重写这个方法就可以实现单例。
Xcode中预先写好了实现代码的快捷指令,敲dispatch_once就会看到。这个是有GCD实现的单例代码。实现代码如下:+(id)allocWithZone:(...
分类:
移动开发 时间:
2014-05-05 22:09:11
阅读次数:
392