并发编程:优化应用响应速度
在开发应用程序时,我们常常会遇到应用响应不及时的问题,尤其是当一个操作方法顺序调用多个其他方法,且总执行时间较长时,用户会明显感觉到应用的卡顿。本文将介绍如何通过操作队列(Operation Queues)和 Grand Central Dispatch(GCD)来优化应用的并发性能,提高应用的响应速度。
操作队列优化 SlowWorker 应用
我们以 SlowWorker 应用为例,该应用的问题在于单个操作方法顺序调用多个其他方法,导致应用响应不及时。我们的目标是将每个方法封装成操作(Operation),并将这些操作放入队列中,让队列来管理操作的执行顺序。
1. 复制项目
在开始之前,我们需要复制整个 SlowWorker 项目文件夹,因为后续我们会使用原始版本的 SlowWorker 作为另一种并发实现方式的起点。
2. 修改 doWork: 方法
我们将在 doWork: 方法中进行所有的修改。首先,给一些局部的 NSString 变量添加 __block 存储限定符,这样每个 NSString 指针就可以在各个块(Block)中被读写,实现数据在块之间的共享。然后,将每个小的工作单元封装在块中,声明操作之间的依赖关系,确保它们按正确的顺序执行,最后将这些操作传递给一个新的操作队列进行执行。
- (IBAction)doWork:(id)sender {
NSDate *s
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



