线程
小浪花浪迹天涯
做一个可爱的姑娘
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
dispatch_get_current_queue的废弃
由于iOS7以后 dispatch_get_current_queue 被废弃 在主线程分离出一个子线程: - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [NSThread detachNewThreadSelector:@selector(onPlay) toTarget:sel原创 2015-12-21 22:20:59 · 1385 阅读 · 0 评论 -
GCD的死锁
GCD为多线程中的重点, 今天写了几个小demo分享一下 -J-给主线程添加同步任务- (void)demo1{ NSLog(@"哈哈哈"); // 此处给主线程添加同步任务 // 它会等主线程任务(demo1)执行完再执行 // 而同步任务按顺序执行,也就是说同步任务不执行demo1就无法结束 // 相互等待, 形成死锁 dispatch_syn原创 2015-12-22 01:05:22 · 582 阅读 · 0 评论 -
Barrier的使用
Barrier主要用于在多个异步操作完成之后,统一对非线程安全的对象进行更新, 如NSMutableString/NSMutableArray…Barrier的工作原理将所有之前添加的异步执行完成之后,在同一个线程中,顺序执行 block 中的代码接下来我们看一下它是如何实现的 ?首先创建一个并发队列_queue = dispatch_queue_create("ejParadise", D原创 2015-12-22 02:16:57 · 1104 阅读 · 0 评论 -
GCD调度组的使用
在一些社交应用比如微博配图时张数不确定, 如何动态调整图片的尺寸? GCD调度组可以解决我们的难题.下面代码统一监听A/B任务完成, 才执行更新UI- (void)group1 { dispatch_group_t group = dispatch_group_create(); dispatch_queue_t queue = dispatch_get_global_queue(0,原创 2015-12-22 12:15:48 · 774 阅读 · 0 评论 -
NSOperation与GCD
NSOperation 抽象类 - NSInvocationOperation - NSBlockOperation NSOpeartionQueue * GCD 的核心概念:将任务(block)添加到队列,并且指定执行任务的函数 * OP 的核心概念:将`操作`添加到`队列`NSInvocationOperation(不常用)// 将操作添加到队列 - 会异步执行操作!- (v原创 2015-12-26 12:06:02 · 379 阅读 · 0 评论 -
自定义NSOperation
通过上篇文章的学习我们知道, NSOperation系统自带的方法无论是取消还是挂起操作只能控制队列中的操作, 都无法操纵正在线程中运行的操作; 下面我们通过自定义NSOperation准备工作自定义 DownloadImageOperation 继承自 NSOperation代码调用// 实例化自定义操作DownloadImageOperation *op = [[DownloadImag原创 2015-12-27 02:59:08 · 413 阅读 · 0 评论
分享