
游戏的设计
|
33
闭包,然后由
Dispatch Queue
来执行闭包。如同
OperationQueue
,
Dispatch Queue
可能会一次同步执行多个闭包。
GCD
中既有串行队列,也有并行队列。
1.15
串行执行
问题
我们可以执行一些需要顺序执行的任务,它们每一个都需要在其他任务执行完之后
执行。
解决方案
要想使一个任务在另一个任务执行完之后再执行,我们可以将每个任务都保存为变
量,然后使用
addDependency:
方法指定给定的任务开始之前需要哪个任务执行完
成。
let firstOperation = BlockOperation { () -> Void in
print("First operation")
}
let secondOperation = BlockOperation { () -> Void in
print("Second operation")
}
let thirdOperation = BlockOperation { () -> Void in
print("Third operation")
}
// secondOperation
必须等
firstOperation
和
// thirdOperation
完成之后才执行
secondOperation.addDependency(firstOperation)
secondOperation.addDependency(thirdOperation)
let operations = [firstOperation, ...