![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GCD和block_ios
文章平均质量分 68
Apple_0611
这个作者很懒,什么都没留下…
展开
-
block的了解和相关用法解析学习
block是一个特殊的OC对象,转载 2014-06-10 13:46:34 · 756 阅读 · 0 评论 -
正确使用Block避免Cycle Retain和Crash
Block简介Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理 要么导致return cycle内存泄漏要么内存被提前释放导致crash。 Block的使用很像函数指针,不过与函数最大的不同是:Bl转载 2014-07-24 11:30:13 · 501 阅读 · 0 评论 -
block的语法学习
一、首先学习block的语法定义转载 2014-06-10 16:03:21 · 658 阅读 · 0 评论 -
dispatch group机制
dispatch_group_t group = dispatch_group_create();MyCoreDataObject *coreDataObject;dispatch_group_enter(group);AFHTTPRequestOperation *operation1 = [[AFHTTPRequestOperation alloc] initWithRequest:原创 2015-01-12 12:04:37 · 670 阅读 · 0 评论 -
GCD 主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别
进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 队列 dispatch_queue_t,队列名称在调试时辅助,无论什么队列和任务,线程的创建和回收不需要程序员操作,有队列负责。 串行队列:队列中的任务只会顺序执行(类似跑步)原创 2015-01-12 13:27:44 · 855 阅读 · 0 评论 -
GCD介绍: 多核心的性能
概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)转载 2015-01-12 11:37:16 · 668 阅读 · 0 评论 -
通过Dispatch Group机制,根据系统资源状况来执行任务
dispatch group是GCD的一项特性,能够把任务分组,调用者可以等待这组任务执行完毕,也可以在提供回调函数之后继续往下执行,这组任务完成时,调用者会得到通知。这个功能有多个用途,其中最重要,最值得注意的用法,就是把将要并发执行的多个任务合为一个组,于是调用者就可以知道这些任务合适才能全部执行完毕。举个栗子:把一系列压缩文件的任务表示成dispatch group。原创 2015-01-12 12:35:23 · 727 阅读 · 0 评论