代码之家  ›  专栏  ›  技术社区  ›  Allyn

需要后台处理。线程?

  •  1
  • Allyn  · 技术社区  · 15 年前

    我需要一个后台进程来运行每分钟左右。我不希望这个过程干扰应用程序其余部分的响应。这会是一个很好的线程候选人吗?如果是这样,您会建议我如何设置线程——特别是,哪些类/方法值得研究?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Chuck    15 年前

    这取决于后台进程的紧密联系。最好制作一个单独的在后台运行的程序。

    开始,看看苹果的 guide to threads .

    多线程编程不适合胆小的人,因此您需要确保您理解其背后的想法和注意事项,并可能首先尝试其他解决方案。如果这个“后台进程”不是很重,那么在主线程上使用一个计时器几乎可以让您摆脱困境。如果它与你的应用程序的内部没有紧密联系,一个“工人”程序可能是个好主意。

        2
  •  5
  •   user23743    15 年前

    听起来是个不错的候选人 NSOperation NSOperationQueue -将您的工作单元打包作为操作,并在必要时将其关闭。做“每一分钟左右”的事, NSTimer 这是不足为奇的选择。

        3
  •  0
  •       15 年前

    它实际上取决于后台进程在做什么,需要访问哪些资源等等。如果你只是想调用某个方法:每分钟都使用一个nstimer。如果您确实需要像nsOperationQueue这样的东西,我建议您研究一下这个替换,它可以解决当前实现中的一些错误。

    http://www.mikeash.com/?page=pyblog/raoperationqueue-an-open-source-replacement-for-nsoperationqueue.html