并发编程:从操作队列到 GCD 的优化之旅
一、操作队列优化 SlowWorker 应用
在开发应用程序时,我们常常会遇到应用响应缓慢的问题。以 SlowWorker 应用为例,它的单个操作方法会按顺序调用多个其他方法,这些方法的总执行时间过长,导致应用变得无响应。为了解决这个问题,我们可以使用操作队列来实现并发执行。
1. 准备工作
在开始之前,我们需要复制包含 SlowWorker 项目的整个文件夹,因为后续还会用到原始版本的项目。
2. 修改 doWork: 方法
我们主要在 doWork: 方法中进行修改。首先,给一些局部的 NSString 变量添加 __block 存储限定符,这样可以让这些指针在各个块中保持唯一,并且可以被读写。以下是修改后的代码:
- (IBAction)doWork:(id)sender {
NSDate *startTime = [NSDate date];
__block NSString *fetchedData;
__block NSString *processed;
__block NSString *firstResult;
__block NSString *secondResult;
self.isWorking = YES;
NSBlockOperation *fetch = [NSBlockOperation blockOperationWithBlock:^{
fetchedData = [self fetchSometh
超级会员免费看
订阅专栏 解锁全文
6

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



