A menudo veo que se menciona que Thread.Sleep();
no debería usarse, pero no puedo entender por qué es así. Si Thread.Sleep();
puede causar problemas, ¿hay alguna solución alternativa con el mismo resultado que sea segura?
p.ej.
while(true)
{
doSomework();
i++;
Thread.Sleep(5000);
}
otro es:
while (true)
{
string[] images = Directory.GetFiles(@"C:\Dir", "*.png");
foreach (string image in images)
{
this.Invoke(() => this.Enabled = true);
pictureBox1.Image = new Bitmap(image);
Thread.Sleep(1000);
}
}
goto:
es decir, que probablemente haya una mejor solución a sus problemas que Sleep
.
goto
, que se parece más a un olor a código que a un olor de diseño. No hay nada de malo en que un compilador inserte goto
s en su código: la computadora no se confunde. Pero Thread.Sleep
no es exactamente lo mismo; los compiladores no insertan esa llamada y tiene otras consecuencias negativas. Pero sí, el sentimiento general de que usarlo es incorrecto porque casi siempre hay una mejor solución es ciertamente correcto.
sleep()
código (o pruebas) muere un cachorro