一个应用程序应该有多少个 NSOperationQueues?

How many NSOperationQueues should an app have?

问题是一个应用程序是否应该为所有异步操作拥有一个队列实例,或者可以创建多个队列?

使用一个队列非常简单,因为所有任务都是根据分配的优先级执行的。所以对我来说更有利,因为不需要写额外的代码。

在多个队列的情况下,至少其中一个应该是主队列。 因此,应该实施某种队列管理器,能够挂起 "sub" 队列,并在需要时允许从主队列执行操作。

与只有一个数据库连接的类比让我认为一个集中队列应该用于所有异步操作。

那么你会推荐什么?最佳做法是什么?

经过一番搜索和集思广益,我想到了解决方案。

在我的应用程序中,我将使用 2 个异步队列: 一个队列(NSOperationQueue)用于所有后台操作(如解析下载的 .json 文件)和另一个队列(已由 NSURLSession[=16 实现) =] class) 用于请求(API 请求、下载图像等)。