3

1)我们为什么要使用NSOperationQueue

2)当我们使用它时有什么好处?

3) 可以通过NSOperationQueue同时实现多个同步的web操作吗?

4)为什么我们NSOperationQueue在延迟加载中使用UITableView?没有它就不可能NSOperationQueue吗?

4

1 回答 1

10

为什么要使用 NSOperationQueue?

当工作单元是它的一个或一个子类时,您应该使用它NSOperationQueue来实现并发。NSOperation或者使用其他需要 的 API NSOperationQueue,例如addObserverForName:object:queue:usingBlock:方法 onNSNotificationCenter

我们使用它有什么好处?

当工作单元异步执行时,可以封装在一个NSOperation对象中。也许您在问与其他异步 API 相比有什么优势?这在很大程度上是但不完全是您需要的抽象级别并且对管理感到满意的问题。正如一位作者所说“始终使用您可用的最高级别的抽象,并在测量表明需要它们时降级到较低级别的抽象。”

我们可以通过 NSOperationQueue 同时实现多个同步的 web 操作吗?

当然。在线查看大量针对此主题的教程。就像可敬的马库斯·扎拉(Marcus Zarra)的这个。

为什么我们在 Tableview 的延迟加载中使用 NSOperationQueue?

出于与您使用任何并发技术相同的原因。使工作更快和/或避免阻塞 UI。在您引用的情况下,主要是关于不使用长时间运行的任务阻塞 UI。

没有NSOperationQueue就不可能吗?

当然有可能。 NSThread, GCD 等

于 2012-10-06T10:00:04.960 回答