7
votes

Dormez en boucle lorsque l'application est en cours d'exécution, mais peut dormir trop peu

private static void Main(string[] args)
{
    for (;;)
    {
        TemporaryCityTool.TemporaryCityTool.AddCity();
        Console.WriteLine("waiting...");
        Thread.Sleep(3600);
    }
}
why Thread.sleep not working. I am getting message waiting all the time. I want that application will wait 10 minutes then continue again.

0 commentaires

6 Réponses :


2
votes

3600 est de 3,6 secondes. Si vous voulez qu'il dorme pendant 10 minutes, vous devez la définir sur 600000.

Thread.Sleep(600000);


0 commentaires

3
votes

L'argument du SLEEP La méthode est en millisecondes, donc Si vous voulez dormir pendant 10 minutes:

Thread.Sleep(10 * 60 * 1000);


0 commentaires


1
votes

thread.sleep est en millisecondes 10 minutes serait thread.sleep (1000 * 60 * 10)

Pourquoi utilisez-vous Threh.Sleep, vous pouvez être mieux en utilisant une minuterie


0 commentaires

2
votes

10 minutes en millisecondes est de 600 000. Votre sommeil n'attendra que 3,6 secondes. Il est souvent plus clair d'utiliser une période de temps: xxx


1 commentaires

Je suis d'accord, mais vous pouvez le rendre plus clairement plus clair en utilisant la méthode de l'usine statique "desmintes (10)" :)



-1
votes

thx, ma grosse erreur. John Feminella J'utilise le fil maintenant.

private static void Main(string[] args)
        {
            Thread thrd1 = new Thread(new ThreadStart(Trmain));

            thrd1.Start();
        }

        private static void Trmain()
        {
            for (; ; )
            {
                Console.WriteLine("waiting 10 minutes...");
                Thread.Sleep(1000 * 60 * 10);
            }
        } 


1 commentaires

Vous devez accepter la réponse qui a la plus aidée en cliquant sur la coche en regard de la question. Et vous auriez dû poster ce qui précède comme édition de votre question initiale.