1)为什么要使用NSOperationQueue
?我们为什么要使用NSOperationQueue?
2)我们使用它有什么好处?
3)我们能在同一时间实现通过NSOperationQueue
多个同步的网络操作?
4)为什么我们使用NSOperationQueue
在UITableView
延迟加载?没有NSOperationQueue
是不可能的?
1)为什么要使用NSOperationQueue
?我们为什么要使用NSOperationQueue?
2)我们使用它有什么好处?
3)我们能在同一时间实现通过NSOperationQueue
多个同步的网络操作?
4)为什么我们使用NSOperationQueue
在UITableView
延迟加载?没有NSOperationQueue
是不可能的?
我们为什么要使用NSOperationQueue?
您应该使用NSOperationQueue
实现并发时工作单位是NSOperation
或它的一个子类。或者与其他需要NSOperationQueue
的API(例如, addObserverForName:object:queue:usingBlock:
方法NSNotificationCenter
我们使用它有什么好处?
当异步执行的工作单元可以封装在一个NSOperation
对象中时。也许你在问什么是优于其他异步API的?这在很大程度上(但不完全)是您需要的抽象级别的问题,并且适合管理。作为one author put it:“总是使用可用的最高级别抽象,并在测量显示它们需要时下降到较低级别的抽象。”
我们能在同一时间实现通过NSOperationQueue多个同步的网络操作?
当然。在网上看到很多关于这个主题的教程。像由Marcus Zarra估计的this one一样。
为什么我们在Tableview的lazyloading中使用NSOperationQueue?
有关,就像使用任何并发的技术一样的道理。加快工作速度和/或避免阻止用户界面。在你引用的情况下,主要是关于不用长时间运行的任务阻塞UI。
如果没有NSOperationQueue是不可能的?
当然这是可能的。 NSThread
,GCD等
非常感谢NSBum先生:) – Ganesh
阅读[并发编程指南]中的操作队列(http://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html) – 0x8badf00d
这是对合作伙伴问题的掌握。 NSOperationQueue并不是执行大量这些事情的唯一方法,因此可能请查看并发指南,然后查看您是否不能在稍后再关注您的问题。 –
试着在未来以更好的方式提出问题。 –