Pregunta

private static void Main(string[] args)
{
    for (;;)
    {
        TemporaryCityTool.TemporaryCityTool.AddCity();
        Console.WriteLine("waiting...");
        Thread.Sleep(3600);
    }
}

¿Por qué no trabajar Thread.sleep. Estoy recibiendo mensajes en espera todo el tiempo. Quiero que la aplicación va a esperar 10 minutos y luego continuar de nuevo.

¿Fue útil?

Solución

Thread.Sleep toma un valor en milisegundos, no segundos, lo que esto sólo le dice al hilo actual que esperar 3,6 segundos. Si quieres que esperar 10 minutos, utilice:

Thread.Sleep(1000 * 60 * 10);  // 600,000 ms = 600 sec = 10 min

Esto es probablemente un uso inadecuado de Sleep, sin embargo. Considere el uso de un temporizador en lugar, de manera que se obtiene algo a lo largo de las líneas de:

// Fire SomeAction() every 10 minutes.
Timer timer = new Timer(o => SomeAction(), null, 10 * 60 * 1000, -1);

Ver este hilo Stackoverflow para más detalles al respecto.

Otros consejos

El argumento de la método Sleep es en milisegundos, por lo si quieres a dormir durante 10 minutos:

Thread.Sleep(10 * 60 * 1000);

3600 es de 3,6 segundos. Si usted quiere que el sueño durante 10 minutos, se debe configurar a 600.000.

Thread.Sleep(1000 * 60 * 10);  // Milliseconds(1000) * Seconds(60) * Minutes(10)

Lo que es igual a:

Thread.Sleep(600000);

Thread.sleep es en milisegundos 10 minutos serían Thread.sleep (1000 * 60 * 10)

¿Por qué utiliza Thread.Sleep, puede ser mejor usar un temporizador

10 minutos en milisegundos es 600.000. Su sueño esperará solamente 3,6 segundos. A menudo es más clara para utilizar un intervalo de tiempo:

Thread.Sleep(new TimeSpan(0,10,0));

THX, mi gran error. John Feminella yo uso hilo ahora.

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);
            }
        } 

THX toda

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top