深入探索GCD:多线程编程与应用优化
1. GCD与闭包的基础
GCD(Grand Central Dispatch)使用闭包来封装要添加到队列的代码。在Swift中,闭包是一等公民,你可以将闭包赋值给变量、传递给方法,或者作为方法调用的结果返回。闭包相当于Objective - C的块,在其他编程语言(如Python)中有时也被称为lambda。
闭包和方法或函数类似,可以接受一个或多个参数并指定返回值,但与GCD一起使用的闭包既不能接受参数也不能返回值。声明闭包变量时,只需将代码用花括号括起来赋值给它,还可以选择包含参数。示例代码如下:
// Declare a closure variable "loggerClosure" with no parameters
// and no return value.
let loggerClosure = {
print("I'm just glad they didn't call it a lambda")
}
执行闭包的方式和调用函数相同:
// Execute the closure, producing some output in the console.
loggerClosure()
2. 优化SlowWorker的doWork方法
2.1 初始的doWork方法
@IBAction fu
超级会员免费看
订阅专栏 解锁全文
130

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



