我刚刚开始使用 NSOperation
和 NSOperationQueue
。我真的很想知道使用它们应该有什么更好的做法。
我应该为整个应用程序创建一个队列,还是应该为每种特定类型的任务创建一个队列?如果我创建这么多队列会有什么影响?
最佳答案
这取决于您使用它们的目的。如果您使用它们是为了提高性能,最大限度地发挥 CPU 的性能,那么超出您期望的核心数量就没有什么意义。
如果您只是为了保持 UI 响应而卸载处理,但您并不特别关心最大化性能,那么为了简单起见,我将使用默认后台队列。
如果您使用顺序后台队列来触发对外部事件的操作(例如网络请求完成),那么使用一堆不会造成任何损害,因为它们不会导致大量线程尝试同时运行。
在很多情况下,您可以使用操作队列来简化设计。
NSOperationQueues 构建在 GCD 之上,据我所知,只要它们不尝试同时执行,队列负载就不会影响性能。
关于ios - 使用 NSOperation 和 NSOperationQueue 的好习惯是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626025/