4

1)当我们添加NSOperation或添加时发生NSInvocationOperationNSoperationQueue什么?

NSoperation2)和有什么区别NSInvocationOperation

3)哪一个是最好的?

4

2 回答 2

11

1. NSoperation 和 NSInvocationOperation 的区别

一个NSoperation对象是一个单次对象——也就是说,它执行一次它的任务并且不能被用来再次执行它。

NSInvocationOperation类是 NSOperation 的具体子类,它管理指定为调用的单个封装任务的执行。您可以使用此类启动一个操作,该操作包括在指定对象上调用选择器。此类实现非并发操作。

2.当我们在 NSoperationQueue 中添加 NSOperation 或 NSInvocationOperation 时会发生什么

您通常通过将操作添加到操作队列(NSOperationQueue 类的实例)来执行操作。操作队列直接执行其操作,通过在辅助线程上运行它们,或间接使用 libdispatch 库(也称为 Grand Central Dispatch)

3.哪个最好

我认为“最佳”这个词可能会根据您的情况而有所不同:)

于 2012-10-16T06:51:02.273 回答
0

Cocoa Is My Girlfriend 有一个很好的使用 NSOperation 和 NSOperationQueue 的教程。本教程使用 NSOperation 在单独的线程中同时下载多个网页。

还要检查这个问题NSOperation on the iPhone

于 2012-10-16T06:46:15.030 回答