并发编程:提升应用响应性的实践指南
在开发应用程序时,我们常常会遇到应用响应迟缓的问题,尤其是当某些操作需要较长时间才能完成时,用户界面可能会出现卡顿,影响用户体验。本文将介绍如何通过操作队列(Operation Queues)和 Grand Central Dispatch(GCD)来实现并发编程,提升应用的响应性。
操作队列在 SlowWorker 中的应用
在开始之前,我们需要对 SlowWorker 项目文件夹进行复制,因为后续我们会使用原始版本的 SlowWorker 作为另一种并发实现方式的起点。
问题分析
SlowWorker 应用的问题在于单个操作方法会按顺序调用多个其他方法,这些方法的总执行时间过长,导致应用响应不及时。为了解决这个问题,我们将每个方法封装成一个操作,并将所有操作放入一个队列中,让队列来管理它们的执行。
具体实现步骤
- 添加
__block存储限定符 :在doWork:方法中,为所有局部NSString变量添加__block存储限定符。这样,每个NSString指针就成为一个唯一的指针,可以被每个块读取和写入。示例代码如下:
- (IBAction)doWork:(id)sender {
NSDate *startTime = [NSDate date];
超级会员免费看
订阅专栏 解锁全文

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



