1

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

4

3 回答 3

5

这听起来像是一个非常好的候选者NSOperation-NSOperationQueue将您的工作单元打包为一个操作,并在必要时将其启动。对于做“每分钟左右”一点,NSTimer是不足为奇的选择。

于 2009-02-23T21:50:30.460 回答
2

这取决于后台进程的紧密程度。制作一个在后台运行的单独程序可能是一个更好的主意。

要开始使用,请查看 Apple 的线程指南

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

于 2009-02-23T21:53:33.947 回答
0

这实际上取决于后台进程在做什么,它需要访问哪些资源等等。如果您只想调用 someMethod: 每分钟然后使用 NSTimer。如果你真的需要像 NSOperationQueue 这样的东西,我建议你研究一下这个替代品,它解决了当前实现中的一些错误。

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

于 2009-02-24T16:09:46.387 回答