目前所知有七种方法
//第一种
[arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop){
NSLog(@"%ld,%@",idx,[arr objectAtIndex:idx]);
}];
//第二种
dispatch_apply([arr count],...
分类:
移动开发 时间:
2015-01-05 20:32:19
阅读次数:
193
dispatch_group如果想在dispatch_queue中所有的任务执行完成后在做某种操作,在串行队列中,可以把该操作放到最后一个任务执行完成后继续,但是在并行队列中怎么做呢。这就有dispatch_group 成组操作。比如复制代码 dispatch_queue_t dispatchQueue = dispatch_queue_create("ted.queue.next", DISPA...
分类:
其他好文 时间:
2015-01-04 17:22:11
阅读次数:
348
概要
GCD的全称是Grand Central Dispatch(译为中心调度队列?),可以理解为线程管理队列,是苹果公司为多核的并行运算提出的解决方案,能够根据系统环境自适应线程管理,基本属于全自动的线程管理。
在GCD里面,任务需要放到队列里面执行,队列根据自身属性分发任务执行,不过原则总是FIFO。队列分为串行和并行队列,串行队列是队列里面只有一个线程,所以队...
分类:
移动开发 时间:
2015-01-01 16:07:14
阅读次数:
191
进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程队列dispatch_queue_t,队列名称在调试时辅助,无论什么队列和任务,线程的创建和回收不需要程序员操作,有队列...
分类:
移动开发 时间:
2014-12-31 21:26:56
阅读次数:
335
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。我不会详细...
分类:
其他好文 时间:
2014-12-31 20:07:29
阅读次数:
255
jQuery.event.dispatch,字面意思是事件分发。就是执行绑定的函数。 在jQuery.event.add中,//1, jQuery.event.add中jQuery.event.dispatch.apply( eventHandle.elem, arguments )//2, ...
分类:
编程语言 时间:
2014-12-31 09:52:35
阅读次数:
271
关键字:GCD dispatch_once 单例 线程安全 double-check 以前在Java、C#等语言中,我们实现迟缓加载的单例模式一般写成如下形式(伪代码):private MyClass() {...} // 私有化构造方法private static MyClass instanc....
分类:
移动开发 时间:
2014-12-31 08:42:17
阅读次数:
226
本篇文章会持续更新:
我们经常用到的:
dispatch_async(dispatch_get_global_queue(0, 0), ^{
// 处理耗时操作的代码块
//通知主线程刷新
dispatch_async(dispatch_get_main_queue(), ^{
//回调或者说是通知主线程刷新
});
}...
分类:
移动开发 时间:
2014-12-30 15:20:15
阅读次数:
143
1-延迟执行可以安排其线程(1),主队列 dispatch_queue_t queue= dispatch_get_main_queue(); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER...
分类:
移动开发 时间:
2014-12-30 15:11:06
阅读次数:
130