2009-11-05 6 views
0

Je vais effectuer plusieurs tâches périodiquement dans mon application, mais elles ont une période différente, comment faire? Exécutez chaque tâche dans un thread de minuterie distinct.Plusieurs tâches s'exécutent périodiquement dans une application winform .NET

  1. exécuter à la tâche de période dans le même fil de minuterie, mais il faut vérifier le temps de voir si la tâche doit être activée.

Avez-vous une meilleure solution?

Répondre

1

Cela dépend principalement du nombre de tâches à exécuter.

Avec deux ou trois tâches, il serait logique de garder une minuterie ont séparé pour chaque tâche, mais avec plus d'obtenir difficile à manier des tâches.

Si un bon nombre de tâches que j'aurais minuterie simple qui vérifie une liste des tâches pour voir s'il y a des tâches prêt à fonctionner. De cette façon, ajouter une tâche; il suffit de l'ajouter à la liste. Avoir une liste de tâches permettrait également de faciliter la gestion des données.

0

Des sons comme vous devriez exécuter chaque tâche sur son propre thread. IT facile la configuration de la synchronisation et de commande de démarrage/arrêt de chaque tâche

Utilisation du contrôle Timer est une bonne option, si les tâches doivent exécuter chaque delta de temps donné.

+0

Mais je pense que trop de thread de minuterie peut entraîner une consommation de ressources élevée – Benny

+0

combien de threads prenez-vous? un seul fil de couchage, en attente d'être réveillé par le système d'exploitation est mieux (en performance) alors un seul thread fonctionne constamment, en vérifiant si quelque chose devrait arriver. – Amirshk

Questions connexes