多线程
jingxianli0922
生活不易,且行且珍惜。工作不易,且做且学习!
展开
-
GCD入门介绍三----线程死锁
GCD确实给iOS开发者提供了很多便利,它的功能也很强大。但相比NSOperation无法提供取消任务以及添加依赖的功能。但GCD如果用的不好或者用的地方不对就会出现线程死锁的情况。我将通过几个例子进行说明:例子1:- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after load原创 2015-12-11 14:25:18 · 655 阅读 · 0 评论 -
GCD入门介绍二
一、创建队列和管理队列1.创建串行Dispatch Queue (serial dispatch queue)应用的任务需要按特定顺序执行时,就需要使用串行Dispatch Queue,串行queue每次只能执行一个任务。你可以使用串行queue来替代锁,保护共享资源 或可变的数据结构。和锁不一样的是,串行queue确保任务按可预测的顺序执行。只要你异步地提交任务到串行queu原创 2015-12-02 21:53:19 · 708 阅读 · 0 评论 -
GCD入门介绍一
什么是GCD?Grand Central Dispatch是一套底层API,提供一种新的方法进行并行程序编写。GCD跟NSOperationQueue比较像,它允许程序将任务切分为多个单一任务然后提交到工作队列中并发地或者串行地执行。GCD比NSOpertaionQueue更底层更高效,并且它不是Cocoa框架的一部分。GCD的API很大程度上基于block,当然,GCD也可以脱离bloc原创 2015-11-25 14:15:45 · 558 阅读 · 0 评论 -
GCD入门介绍四---- dispatch_group_async和dispatch_barrier_async
我们在开发的过程中,可能碰到如下的情况:1.异步下载两张图片,然后合并成一张图片。2.原创 2016-01-30 20:40:32 · 3013 阅读 · 0 评论 -
多线程之NSOperation
一、简介一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。创建一个操作队列:[java] view plain copyNSOperationQueue *queue = [[NS转载 2016-03-27 17:29:04 · 338 阅读 · 0 评论 -
多线程学习---解析苹果官网代码《LazyTableImages》
很早以前就看过《LazyTableImages》的代码,当时只是大致看了一下它的原理,没有很详细的研读。最近在看第三方开源框架的代码,学习优化策略以及优雅的代码风格,提高自身水平,希望与大家一起学习和共同讨论。一、简要流程说明。 1、通过RSS feed建立URL请求获取XML数据;2、通过获取的XML数据,创建ParseOperation在后台使用NSXMLParse原创 2016-03-27 21:33:00 · 1186 阅读 · 0 评论