Dùng Thread.Sleep(milliseconds):
Thread.Sleep(1000); // Ngủ 1 giây
Ví dụ với counter
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();
// Main thread ngủ 5 giây
Thread.Sleep(5000);
}
}
}
Kết quả
In Main: Creating the Child thread Child thread starts 0 1 2 3 4 5 6 7 8
Lưu ý:
Thread.Sleepblock thread hiện tại- Async/await thay thế tốt hơn:
await Task.Delay(1000);không block thread Thread.Sleep(Timeout.Infinite)ngủ vô hạn