C# timer (le ralentissement de la boucle)
Je voudrais ralentir une boucle pour qu'elle boucle toutes les 5 secondes.
Dans ActionScript, je voudrais utiliser un minuteur et un chronomètre complète de l'événement pour ce faire. Comment pourrais-je le faire en C#?
OriginalL'auteur Chin | 2010-08-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter cet appel à l'intérieur de votre boucle:
ou préférable pour une meilleure lisibilité:
Toutefois, si votre application a une interface d'utilisateur, vous devriez ne jamais dormir sur le thread de premier plan (le thread qui traite les demandes de message boucle).
Ce code va attendre 5 secondes entre chaque itération, pas le feu chaque 5 seconde. Si le code que vous faites dans votre boucle prend beaucoup de temps, comme une requête web, puis le total sera de plus de 5 secondes. La solution avec un Timer de adopilot est plus précise à votre question, mais toute solution peut être adapté à vos besoins.
Pour des raisons de lisibilité de la fonction de Veille peut également prendre un laps de Temps comme un argument. Système.Le filetage.Fil de discussion.Sommeil(TimeSpan.FromSeconds(5));
OriginalL'auteur Martin Liversage
Vous pouvez essayer d'utiliser la Minuterie,
Aussi, si votre opération en boucle, qui peut durer plus de 5 sec, Vous pouvez définir
pour désactiver le prochain cycle d'horloge jusqu'à ce que l'opération de finition dans la boucle
Mais alors la fin de la fin de la boucle, Vous devez à nouveau pour activer la minuterie comme
OriginalL'auteur adopilot
Ne pas utiliser une boucle à tous. Configurer un
Timer
objet et de réagir à ses licenciés de l'événement. Attention, parce que ces événements se déclenche sur un autre thread (le timer thread du pool de threads).OriginalL'auteur Neil Barnwell
Disons que vous avez un
for
-boucle que vous souhaitez utiliser pour la rédaction d'une base de données à chaque seconde. J'ai ensuite créer un timer qui est fixé à 1 000 ms d'intervalle, puis utilisez la minuterie de la même manière que vous le feriez utiliser unwhile
en boucle si vous souhaitez d'agir comme unfor
en boucle. Par la création de l'entier avant la boucle et en ajoutant à l'intérieur.OriginalL'auteur Charp