Почему Thread.Sleep так вреден

Я часто вижу упоминание о том, что Thread.Sleep(); не следует использовать, но я не могу понять, почему это так. Если Thread.Sleep(); может вызвать проблемы, есть ли альтернативные решения с тем же результатом, которые были бы безопасны?

например.

while(true)
{
    doSomework();
    i++;
    Thread.Sleep(5000);
}

другой вариант:

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);
    }
}
116
задан davmos 12 September 2014 в 15:42
поделиться