iphone - iOS 应用程序的操作队列与调度队列

标签 iphone objective-c ios cocoa-touch grand-central-dispatch

  1. Operation Queue 和 Dispatch Queue 有什么区别?
  2. 分别在什么情况下使用更合适?

最佳答案

OperationQueue 在内部使用 Grand Central Dispatch 和 iOS。

OperationQueue 让您可以更好地控制操作的执行方式。例如,您可以定义各个操作之间的依赖关系,这对于普通的 GCD 队列是不可能的。也可以取消已在 OperationQueue 中排队的操作(只要操作支持它)。当你在 GCD 调度队列中加入一个 block 时,它肯定会在某个时候被执行。

总结一下,OperationQueue 可以更适合可能需要取消或者有复杂依赖的长时间运行的操作。 GCD 调度队列更适合应该具有最低性能和内存开销的短任务。

关于iphone - iOS 应用程序的操作队列与调度队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078658/

相关文章:

iphone - 为什么调试器不知道我的 Core Data 生成的托管对象类上的方法? (附代码)

ios - 具有潜在泄漏的Objective-C Zlib方法

ios - 如何解析 facebook 喜欢 json 响应?

objective-c - 保留 NSArray 中的元素

ios - UILabel 即使在 dispatch_async 上也不会更新

iphone - 使用 UIImagePickerController 录制电影时的视频压缩?

iphone - iPhone 版 FFMpeg

objective-c - 将 PolygonShape 设置为六边形形状

objective-c - 为什么 OpenGL 双缓冲在性能方面似乎不一致?

ios - 为什么 xcode 为我的 Swift 代码显示 "Expression was too complex to be solved in reasonable time..."?