In c#, the
sleep
method is useful to suspend or pause the current
thread
execution for a specified time.
We can suspend the thread execution either by passing the time in milliseconds or with
TimeSpan
property like as shown below.
// Time in milliseconds
Thread.Sleep(1000);
Or
// Time in hours, minutes, seconds
TimeSpan ts = new TimeSpan(0,0,1);
Thread.Sleep(ts);
If you observe the above code snippet, we are trying to suspend the thread for
1
second by using the
Sleep
method.
C# Sleep(milliseconds) Method Example
Following is the example of
Sleep
method in c# to pause the thread execution for the specified amount of time by passing the time in milliseconds.
using System;
using System.Threading;
namespace TutlaneExamples
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("Thread paused for {0} second", 1);
// Pause thread for 1 second
Thread.Sleep(1000);
Console.WriteLine("i value: {0}", i);
}
Console.ReadLine();
}
}
}
If you observe the above example, we are suspending the
main thread
execution (
1
second) for every iteration of
for loop
by passing the time in milliseconds to the
Sleep
method.
When we execute the above program, we will get the result as shown below.
Thread paused for 1 second
i value: 1
Thread paused for 1 second
i value: 2
Thread paused for 1 second
i value: 3
Thread paused for 1 second
i value: 4
Thread paused for 1 second
i value: 5
If you observe the above result, for every iteration the
Sleep
method has suspended the
thread
for
1
second before it prints the value.
C# Sleep(TimeSpan) Method Example
Following is the example of
Sleep
method in c# to pause the thread execution for the specified amount of time by passing the time using
TimeSpan
property.
using System;
using System.Threading;
namespace TutlaneExamples
{
class Program
{
static void Main(string[] args)
{
TimeSpan ts = new TimeSpan(0, 0, 1);
for (int i = 1; i <= 5; i++)
{
Console.WriteLine("Thread paused for {0} second", 1);
// Pause thread for 1 second
Thread.Sleep(ts);
Console.WriteLine("i value: {0}", i);
}
Console.WriteLine("Main Thread Exists");
Console.ReadLine();
}
}
}
If you observe the above example, we are suspending the
main thread
execution (
1
second) for every iteration of
for loop
by passing the time using
TimeSpan
property to the
Sleep
method.
When we execute the above program, we will get the result as shown below.
Thread paused for 1 second
i value: 1
Thread paused for 1 second
i value: 2
Thread paused for 1 second
i value: 3
Thread paused for 1 second
i value: 4
Thread paused for 1 second
i value: 5
Main Thread Exists
If you observe the above result, for every iteration the
Sleep
method has suspended the
thread
for
1
second before it prints the value.
This is how we can use the Sleep method in c# to suspend or pause the thread execution for the specified amount of time based on our requirements.