Thread.Sleep() मेथड का उपयोग
C# प्रोग्राम को x मिलीसेकंड के लिए स्लीप करने के लिए Thread.Sleep() मेथड का उपयोग करें।
1000 मिलीसेकंड (1 सेकंड) के लिए:
Thread.Sleep(1000);
पूर्ण कोड उदाहरण
using System;
using System.Threading;
namespace MultithreadingApplication {
public class ThreadCreationProgram {
public static void CallToChildThread() {
try {
Console.WriteLine("Child thread starts");
for (int counter = 0; counter <= 10; counter++) {
Thread.Sleep(1000);
Console.WriteLine(counter);
}
Console.WriteLine("Child Thread Completed");
} catch (ThreadAbortException e) {
Console.WriteLine("Thread Abort Exception");
} finally {
Console.WriteLine("Couldn't catch the Thread Exception");
}
}
public static void Main(string[] args) {
ThreadStart childref = new ThreadStart(CallToChildThread);
Console.WriteLine("In Main: Creating the Child thread");
Thread childThread = new Thread(childref);
childThread.Start();
// मेन थ्रेड को कुछ समय के लिए रोकें
Thread.Sleep(5000);
}
}
}
आउटपुट
In Main: Creating the Child thread Child thread starts 0 1 2 3 4 5 6 7 8 ...
महत्वपूर्ण नोट्स:
Thread.Sleep(0)- टाइम स्लाइस सरेंडर करता है (अन्य थ्रेड्स को मौका देता है)Thread.Sleep(Timeout.Infinite)- अनिश्चित काल तक ब्लॉक (Interrupt() से वेक अप)- UI थ्रेड पर
Sleepन करें (ऐप फ्रीज़ हो जाएगा) -Task.Delayउपयोग करें
आधुनिक async/await तरीका:
await Task.Delay(1000); // नॉन-ब्लॉकिंग, UI के लिए सुरक्षित