Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise en place d'une temporisation: envoi d'un evt à une heure précise

3 réponses
Avatar
Oriane
Bonjour,

je dois faire un traitement répétitif en .NET/C#, qui doit se terminer au
bout de dT secondes. En gros on démarre le traitement à t0, et s'il n'est
pas fini à t0+dT, il faut l'interrompre. Je me demande quelle est la
meilleure façon de procéder en C# pour envoyer/déclencher un événement à
t0+dT ?

Oriane

3 réponses

Avatar
Mehdi
On Tue, 5 Jun 2007 09:45:39 +0200, Oriane wrote:

je dois faire un traitement répétitif en .NET/C#, qui doit se terminer au
bout de dT secondes. En gros on démarre le traitement à t0, et s'il n'est
pas fini à t0+dT, il faut l'interrompre. Je me demande quelle est la
meilleure façon de procéder en C# pour envoyer/déclencher un événement à
t0+dT ?



Tout dépends de quel type de traitement tu parles mais une solution
générale serait de démarrer un timer au temps t0. Lorsque le timer expire,
changer la valeur d'un drapeau (c'est comment ca que l'on dit "flag" en
francais ? - un bete bool par exemple). Dans ton traitement, verifier de
temps en temps la valeur du drapeau et arreter le traitement si le drapeau
a été signalé. Autrement dit:

bool stop = false;

private void DoWork()
{
for (whatever)
{
if (stop)
{
// Time's up
return;
}

// Got some more time.
// Process some more data.
}
}
Avatar
Oriane
Bonjour Mehdi,

"Mehdi" a écrit dans le message de
news:efv15gts2esj$
On Tue, 5 Jun 2007 09:45:39 +0200, Oriane wrote:


Tout dépends de quel type de traitement tu parles mais une solution
générale serait de démarrer un timer au temps t0.


Oiu j'ai pensé au Timer mais je ne vais pas en créer un juste pour qu'il me
donne une fois un signal et puis pour le détruire non ?


Merci de ta réponse
Avatar
Mehdi
On Tue, 5 Jun 2007 13:14:41 +0200, Oriane wrote:

"Mehdi" a écrit dans le message de
news:efv15gts2esj$
On Tue, 5 Jun 2007 09:45:39 +0200, Oriane wrote:


Tout dépends de quel type de traitement tu parles mais une solution
générale serait de démarrer un timer au temps t0.


Oiu j'ai pensé au Timer mais je ne vais pas en créer un juste pour qu'il me
donne une fois un signal et puis pour le détruire non ?



Pourquoi pas ? C'est un peu le principe du timer non ? Et ce ne sont pas
les quelques octets qu'il utilise en mémoire ou les quelques nano-secondes
que sa création et sa déstruction prennent qui vont avoir un quelconque
impact sur les performances de ton appli.

Bien sur, absolument rien ne t'empeche de le ré-utiliser si besoin au lieu
de le détruire (sauf si tu utilise le seul timer - le Threading timer ou
Timers timer je ne me souviens plus - qui ne peut pas etre ré-utilisé apres
avoir été arreté).