- Operation Queue 和 Dispatch Queue 有什么区别?
- 分别在什么情况下使用更合适?
最佳答案
OperationQueue
在内部使用 Grand Central Dispatch 和 iOS。
OperationQueue
让您可以更好地控制操作的执行方式。例如,您可以定义各个操作之间的依赖关系,这对于普通的 GCD 队列是不可能的。也可以取消已在 OperationQueue
中排队的操作(只要操作支持它)。当你在 GCD 调度队列中加入一个 block 时,它肯定会在某个时候被执行。
总结一下,OperationQueue
可以更适合可能需要取消或者有复杂依赖的长时间运行的操作。 GCD 调度队列更适合应该具有最低性能和内存开销的短任务。
关于iphone - iOS 应用程序的操作队列与调度队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078658/