Ich sehe oft erwähnt, dass Thread.Sleep();
es nicht verwendet werden sollte, aber ich kann nicht verstehen, warum dies so ist. Wenn Thread.Sleep();
dies zu Problemen führen kann, gibt es alternative Lösungen mit demselben Ergebnis, die sicher wären?
z.B.
while(true)
{
doSomework();
i++;
Thread.Sleep(5000);
}
ein anderer ist:
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 wahrscheinlich eine bessere Lösung für Ihre Probleme gibt als Sleep
.
goto
, was eher einem Code-Geruch als einem Design-Geruch ähnelt. Es ist nichts Falsches daran, goto
wenn ein Compiler s in Ihren Code einfügt : Der Computer wird nicht verwirrt. Ist Thread.Sleep
aber nicht genau das gleiche; Compiler fügen diesen Aufruf nicht ein und es hat andere negative Konsequenzen. Aber ja, das allgemeine Gefühl, dass es falsch ist, weil es fast immer eine bessere Lösung gibt, ist sicherlich richtig.
sleep()
Code (oder Tests) eingeben, stirbt ein Welpe