【问题标题】:NSOperationQueue that pauses between operations?NSOperationQueue 在操作之间暂停?
【发布时间】:2012-11-07 16:50:41
【问题描述】:

我想制作一个 NSOperationQueue,它在操作之间暂停一定的时间长度。它正在访问远程服务器,我想确保我不会一次因为太多操作而使它超载。我已经将 maxConcurrentOperations 设置为 1,因此一次只会运行一个。

【问题讨论】:

  • 如何将队列与只等待 N 秒的操作交错?
  • 这会缩短电池寿命吗?我打算运行这个 NSOperationQueue,而不是在主线程上——这会影响它吗?
  • 使线程进入睡眠状态不会影响电池寿命。除非您限制客户端应用程序的分发,否则您无法确保您的服务器不会通过此方法过载。最终将要求服务器解决相同的净查询数,让您的最终用户等待似乎是一种惩罚。
  • 你的操作已经串行执行了,延迟有什么用?

标签: iphone objective-c ios nsoperation nsoperationqueue


【解决方案1】:

查看这篇文章,它描述了在您的操作之间添加睡眠操作: iPhone - a delay between operations in the queue

【讨论】: