Question

J'ai besoin d'un processus d'arrière-plan pour exécuter toutes les minutes. Je ne veux pas que ce processus d'interférer avec la capacité de réaction du reste de l'application. Serait-ce un bon candidat pour un fil? Si oui, comment suggérez-vous que je mets le fil - en particulier, quelles classes / méthodes serait bon de se pencher sur

?
Était-ce utile?

La solution

Cela dépend de la façon dont étroitement lié le processus d'arrière-plan. Il serait peut-être une meilleure idée de faire un programme distinct qui fonctionne en arrière-plan.

Pour commencer, jetez un oeil à guide pour threads .

programmation multithread est pas pour les faibles de cœur, de sorte que vous aurez envie de vous assurer de comprendre les idées mises en garde et derrière - et probablement essayer d'autres solutions en premier. Si ce « processus d'arrière-plan » est pas très lourd, vous pouvez certainement vous en sortir avec juste utiliser une minuterie sur votre thread principal. Si ce n'est pas étroitement liée à un programme « travailleur » internals de votre application pourrait être une bonne idée.

Autres conseils

On dirait un très bon candidat pour NSOperation et NSOperationQueue - package votre unité de travail comme une opération et le feu hors tension lorsque cela est nécessaire. Pour faire la « toutes les minutes » peu, NSTimer est l'option sans surprise.

Cela dépend vraiment de ce que le processus d'arrière-plan est en train de faire, quelles ressources at-il besoin d'accès et ainsi de suite. Si vous voulez juste appeler someMethod: chaque minute puis utilisez un NSTimer. Si vous avez vraiment besoin de quelque chose comme NSOperationQueue, je suggère à la recherche dans ce remplacement qui traite quelques bugs dans la mise en œuvre actuelle.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top