iPhone应用程序通常只使用一个共享的NSOperationQueue,存储在app代理中,并让每个控制器根据需要将NSOperations放入其中,或者每个控制器都有自己的NSOperationQueue可以吗?这两种方法都可以接受吗?
答案 0 :(得分:1)
浏览Concurrency Programming Guide后,看起来这两种方法都是安全合理的。我能找到的唯一考虑因素是这个引用:
如果您的申请有多个 操作队列,每个队列都优先考虑 自己的运营独立于任何 其他队列。因此,它仍然存在 可能用于低优先级操作 在高优先级之前执行 在不同队列中的操作。
如果您担心大量操作存在优先级冲突,那么最好使用单个队列来确保您的优先级最大化。否则,在代码的上下文中哪个更有意义就可以了。