寻求有关在 iPhone ap 中使用 NSOperationQueue 的建议

发布于 2024-10-29 00:23:53 字数 132 浏览 2 评论 0 原文

iPhone应用程序通常应该只使用一个共享的NSOperationQueue,存储在应用程序委托中,并且让每个控制器根据需要将NSOperations放入其中,或者每个控制器都可以拥有自己的NSOperationQueue吗?这两种方法都可以接受吗?

Should an IPhone app generally only use one shared NSOperationQueue, stored in maybe the app delegate, and have each controller put NSOperations into it as needed, or is it ok for each each controller to have its own NSOperationQueue? Are both approaches acceptable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄荷梦 2024-11-05 00:23:53

浏览并发编程指南,看起来这两种方法都是安全合理的。我能发现的唯一倾向于其中一种的考虑因素是这句话:

如果您的应用程序有多个
操作队列,每个队列都有其优先级
自己的运营独立于任何
其他队列。因此,它仍然是
可用于低优先级操作
在高优先级之前执行
不同队列中的操作。

如果您担心大量操作存在优先级冲突,那么最好使用单个队列来确保您的优先级发挥最大作用。否则,无论哪个在您的代码上下文中更有意义都可以。

After skimming through the Concurrency Programming Guide, it looks like both approaches are safe and reasonable. The only consideration I could find that tends towards one over the other is this quote:

If your application has multiple
operation queues, each prioritizes its
own operations independently of any
other queues. Thus, it is still
possible for low-priority operations
to execute before high-priority
operations in a different queue.

If you're concerned about a large number of operations having priority conflicts, then it's probably best to use a single queue to make sure that your priorities take maximum effect. Otherwise, whichever makes more sense in the context of your code is just fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文