मैं अक्सर यह उल्लेख करता हूं कि 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);
}
}
goto:
आपकी समस्याओं की तुलना में बेहतर समाधान है Sleep
।
goto
डिजाइन की गंध की तुलना में कोड गंध की तरह होता है। कंपाइलर डालने में कुछ भी गलत नहीं हैgoto
आपके कोड में : कंप्यूटर भ्रमित नहीं होता है। लेकिन Thread.Sleep
बिल्कुल वैसा ही नहीं है; संकलक उस कॉल को सम्मिलित नहीं करते हैं और इसके अन्य नकारात्मक परिणाम हैं। लेकिन हाँ, सामान्य भावना है कि इसका उपयोग करना गलत है क्योंकि लगभग हमेशा एक बेहतर समाधान निश्चित रूप से सही है।
sleep()
कोड (या परीक्षण) में एक पिल्ला मर जाते हैं