38、并发编程:优化应用响应速度

并发编程:优化应用响应速度

在开发应用程序时,我们常常会遇到应用响应不及时的问题,尤其是当一个操作方法顺序调用多个其他方法,且总执行时间较长时,用户会明显感觉到应用的卡顿。本文将介绍如何通过操作队列(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值