Je vois souvent qu'il est mentionné que cela Thread.Sleep();
ne devrait pas être utilisé, mais je ne comprends pas pourquoi. Si cela Thread.Sleep();
peut causer des problèmes, existe-t-il des solutions alternatives avec le même résultat qui seraient sûres?
par exemple.
while(true)
{
doSomework();
i++;
Thread.Sleep(5000);
}
un autre est:
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:
s'il y a probablement une meilleure solution à vos problèmes que Sleep
.
goto
, qui ressemble plus à une odeur de code qu'à une odeur de design. Il n'y a rien de mal à ce qu'un compilateur insère des goto
s dans votre code: l'ordinateur ne se confond pas. Mais ce Thread.Sleep
n'est pas exactement la même chose; les compilateurs n'insèrent pas cet appel et cela a d'autres conséquences négatives. Mais oui, le sentiment général selon lequel son utilisation est erronée car il y a presque toujours une meilleure solution est certainement correct.
sleep()
du code (ou des tests), un chiot meurt