Saya sering melihatnya disebutkan bahwa Thread.Sleep();
tidak boleh digunakan, tetapi saya tidak dapat memahami mengapa demikian. Jika Thread.Sleep();
dapat menimbulkan masalah, apakah ada solusi alternatif dengan hasil yang sama yang aman?
misalnya.
while(true)
{
doSomework();
i++;
Thread.Sleep(5000);
}
satu lagi adalah:
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:
yaitu mungkin ada solusi yang lebih baik untuk masalah Anda daripada Sleep
.
goto
, yang lebih seperti bau kode daripada bau desain. Tidak ada yang salah dengan kompiler yang memasukkan goto
s ke dalam kode Anda: komputer tidak akan bingung. Tapi Thread.Sleep
tidak persis sama; kompiler tidak memasukkan panggilan itu dan itu memiliki konsekuensi negatif lainnya. Tapi ya, sentimen umum yang menggunakannya salah karena hampir selalu ada solusi yang lebih baik pasti benar.
sleep()
kode (atau tes) anak anjing mati