Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Làm chương trình C# ngủ (sleep) x milliseconds

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.Sleep block 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