Exécution de tâches "lourdes" dans un intervalle de temps

Fermé
seexyviking Messages postés 1 Date d'inscription lundi 16 novembre 2015 Statut Membre Dernière intervention 16 novembre 2015 - 16 nov. 2015 à 13:36
Bonjour à tous,

tout d'abord merci d'avance :)
et désolé pour les fautes d'orthographes^^

J'ai besoin de quelques conseils.

Je vous explique le problème.

Je dois lire des valeurs a partir d'un capteur tous les x1 secondes.
Je pense a un System.Timers.Timer avec intervalle = x1

le timer s'exécute dans un thread. Mais est ce que la tache qu'il lance toute les x1 secondes est elle aussi dans un thread ?

pourquoi un thread ? car en fonction des valeurs du capteur je vais avoir beaucoup de chose a faire (requête sql, mise a jours des labels etc etc).

tache lancé par le timer dans un thread ou non ! supposons que j'implémente celle-ci dans un thread. Et que celui-ci pour 1fois dans la journée prenne plus de temps que l' intervalle du timer, forcement je vais avoir 2 threads en parallèle donc je ne peux pas garantir l'intégrité de mes données.

Ce que je voudrais c'est : Si au lancement de la tache du timer j'ai encore l'ancienne tâche (Thread) en cours j'attends de la finir avant de lancer la seconde.


J'espère avoir été assez clair.

PS je développes en VB.net ou C#.
On peut bien évidemment commencer par parler algorithmique

Merci encore!!!