Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 스레드

<시간/>

스레드는 프로그램의 실행 경로로 정의됩니다. 각 스레드는 고유한 제어 흐름을 정의합니다. 애플리케이션에 복잡하고 시간이 많이 소요되는 작업이 포함된 경우 각 스레드가 특정 작업을 수행하도록 서로 다른 실행 경로 또는 스레드를 설정하는 것이 종종 도움이 됩니다.

스레드의 수명 주기는 System.Threading.Thread 클래스의 개체가 생성될 때 시작되어 스레드가 종료되거나 실행이 완료될 때 종료됩니다.

다음은 스레드 수명 주기의 다양한 상태입니다 -

  • 시작되지 않은 상태 - 쓰레드의 인스턴스가 생성되었으나 Start 메소드가 호출되지 않은 상황입니다.

  • 준비 상태 - 쓰레드가 실행 준비가 되어 CPU 주기를 기다리는 상황입니다.

  • 실행할 수 없는 상태 - 스레드가 실행되지 않는 경우

    • 수면 방법이 호출되었습니다.
    • 대기 메서드가 호출되었습니다.
    • I/O 작업에 의해 차단됨
  • 죽은 상태 - 쓰레드의 실행이 완료되거나 중단된 상황입니다.

다음은 스레드를 생성하는 방법을 보여주는 예입니다 -

예시

using System;
using System.Threading;

namespace Demo {
   class Program {
      public static void ThreadFunc() {
         Console.WriteLine("Child thread starts");
      }

      static void Main(string[] args) {
         ThreadStart childref = new ThreadStart(ThreadFunc);
         Console.WriteLine("In Main: Creating the Child thread");
         Thread childThread = new Thread(childref);
         childThread.Start();
         Console.ReadKey();
      }
   }
}

출력

In Main: Creating the Child thread
Child thread starts