并发编程:Grand Central Dispatch 与后台处理指南
1. 多线程编程与 Grand Central Dispatch 简介
多线程编程允许程序内的多个执行路径同时运行,即便某个线程在等待特定事件时被阻塞,其他线程仍可继续执行。然而,许多开发者认为多线程编程复杂难懂,因而对其敬而远之。
不过,苹果为那些希望将代码拆分为并发执行片段,又不想过多深入系统线程层的开发者带来了好消息——Grand Central Dispatch(GCD)。GCD 提供了全新的 API,可将应用程序的工作拆分为更小的任务块,这些任务块能分布在多个线程上执行,在合适的硬件条件下,还能利用多个 CPU 核心。
GCD 的新 API 大多通过块(Blocks)来调用。块是苹果为 C 和 Objective - C 语言引入的一种特性,类似于其他语言中的闭包或 lambda 表达式。块可以像普通 C 语言类型一样被处理,能赋值给变量、作为参数传递给函数或方法,还能被执行。
2. SlowWorker 应用示例
为了演示 GCD 的工作原理,我们创建一个名为 SlowWorker 的应用程序。该应用界面简单,包含一个按钮和一个文本视图。点击按钮后,会立即启动一个同步任务,使应用程序冻结约十秒钟。任务完成后,文本视图将显示一些文本。
以下是创建 SlowWorker 应用的具体步骤:
1. 创建项目 :在 Xcode 中使用单视图应用模板创建一个新应用,命名为 SlowWorker,设备家族选择 iPhone,并关闭使用故事板选项。
2. 修改 BIDView
超级会员免费看
订阅专栏 解锁全文
37

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



