Il y a des moments dans mon application, lorsque j'ai besoin d'invoquer ma minuterie manuellement.Indiquer à l'objet timer d'invoquer son événement "Elapsed" de manière asynchrone
J'ai essayé ce qui suit:
int originalInterval = t.Interval;
t.Interval = 0;
t.Interval = originalInterval;
mais il ne correspondait pas.
J'ai créé un nouveau temporisateur, héritant de System.Timers.Timer, et exposé une méthode «Tick» - mais le problème était que l'événement «Elapsed» a ensuite été déclenché de manière synchrone.
Lorsque j'ai implémenté le "Tick" avec un nouveau thread - les résultats étaient, encore une fois, pas cohérent.
Existe-t-il une meilleure façon de l'implémenter?
En quoi les résultats ne sont-ils pas cohérents? –
1. Le thread a été fermé en raison de l'utilisation de Thread.Start, au lieu de ThreadPool.Queue (que je ne voulais pas utiliser ... trop moche) 2. Lorsque l'utilisateur invoqué "Tick" plusieurs fois (avant le méthode arrêtée) - Je voulais attendre le premier appel pour finir à chaque fois et l'invoquer seulement alors – Fliskov