Ma question est quand la minuterie commence à cocher. Prenons, par exemple, la minuterie qui est configurée pour cocher toutes les secondes et je démarre mon programme sur hh:mm:ss:ms = 22:40:34.50
. La tique va commencer au tour sec? Commencez 17:40:35.00
ou c'est à l'heure exacte? Donc, la première coche sera sur 17:40:35.50
et la suivante sur 17:40:36.50
. Ce que j'essaie en fait de résoudre, c'est que je veux faire fonctionner 05:00:00.00 AM
tous les jours, mais seulement pour une fois. J'ai construit un système d'heures de travail et parfois les travailleurs oublient de "fermer" leur équipe, donc à 5h du matin, je veux vérifier qui n'a pas fermé et faire une erreur à ce sujet. Comment pouvez-vous penser que je peux résoudre le problème?Timers En C#, lorsque la minuterie commence à clignoter?
Répondre
Windows n'est pas en temps réel, ce qui signifie que des choses comme «chaque seconde» vont être des approximations. Je suis sûr qu'il n'y a même pas de garantie que, par exemple, une minuterie d'une seconde tirera exactement 60 fois par minute, ou exactement 3600 fois par heure.
Si vous devez effectuer une tâche spécifique à 5h00 du matin, votre meilleur pari est d'avoir une tâche planifiée qui fonctionne à 05h00, ou un service qui interroge l'heure toutes les quelques secondes et s'exécute une fois 5: 00 heures passe.
+1 pour la tâche planifiée. C'est incroyable combien de personnes veulent programmer la fonctionnalité qui est intégrée dans le système d'exploitation – ChrisF
oui je peux à cela mais j'essaie de réduire les programmes qui se connectent à DB pour le rendre plus sûr. c'est juste une fonction simple que je veux lancer ... maintenant ça fonctionne tous les 500ms, mais je peux faire du mabye chaque seconde et m'assurer que ça arrive toujours à 5h du matin ... je l'ai eu? – Mazki516
@ Mazki516 - une tâche planifiée est la voie à suivre. Windows le lancera à 5h00 et ne se connectera à la base de données que lorsqu'elle sera en cours d'exécution. – ChrisF
La minuterie démarre dès que vous appelez la méthode Start. Il n'attendra pas une seconde ronde. La minuterie ne peut pas garantir les temps exacts entre les ticks. Si vous lui donnez un intervalle de 1 sec, il s'assurera qu'au moins une seconde s'est écoulée depuis la dernière coche. Vous pouvez résoudre votre problème de la même manière et effectuer votre travail 5 heures une fois par jour la première fois que le chronomètre s'écoule après 5 heures du matin. Ou si vous êtes sûr que ceux qui entretiennent le système connaîtront les tâches planifiées, la suggestion d'Aric TenEyck d'utiliser une tâche planifiée est une excellente façon de résoudre votre problème.
- 1. Question sur C++ Timers
- 2. Un bouton de survol d'une publication commence à clignoter?
- 3. Création Timers en C++ en utilisant Lua
- 4. comment régler la minuterie en C#
- 5. Timers dans une application .NET
- 6. iphone: gérer les timers sur différentes vues
- 7. La minuterie semble être en pause lorsque l'écran devient inactif
- 8. Utilisation d'une minuterie en C#
- 9. C# comment utiliser la minuterie?
- 10. (Objective-c) Affichage du texte "Effacer lorsque l'édition commence"
- 11. Comment faire pour que notre formulaire (application) commence à s'exécuter lorsque Windows démarre en C#?
- 12. Timers et cartes Android
- 13. Comment mettre la minuterie en pause dans C#?
- 14. minuterie en C# avec différents fils
- 15. C# 2.0 Minuterie d'exécution
- 16. Java Swing Timers et ActionEvent
- 17. comment faire clignoter l'image dessinée sur une vidéo en C#?
- 18. Comment réinitialiser une minuterie en C#?
- 19. Comment exécuter une minuterie synchrone en C#?
- 20. Modifier l'arrière-plan UITextField lorsque l'édition commence
- 21. MediaRecorder.setMaxDuration (minuterie int) ce qui se passe lorsque la minuterie expire
- 22. Comment accéder à une minuterie d'une autre classe en C#
- 23. Obtention de mesures précises à partir d'une minuterie en C#
- 24. JBoss EJB2 Timers Service - plusieurs serveurs, une seule table TIMERS?
- 25. La minuterie ne peut pas être arrêtée en C#
- 26. Comment mettre en œuvre une minuterie avec interruption en C++?
- 27. Utilisation de Sleep() lors de l'utilisation de timers via setitimer
- 28. défilement/recherche JList lorsque l'utilisateur commence à taper
- 29. C#: Activer une zone de texte lorsque l'utilisateur commence à taper
- 30. Android Timers Problème
Copie possible: http://stackoverflow.com/questions/1297109 – dtb
Copie possible: http://stackoverflow.com/questions/1434005 – dtb