HOWTO · Csharp

C#에서 스레드 중지

이 기사에서는 C#에서 스레드를 시작하고 중지하는 방법을 설명합니다.

때때로 C#에서 스레드로 작업하는 동안 스레드를 종료해야 하는 상황이 발생할 수 있습니다. C#은 이를 성공적으로 수행할 수 있는 방법을 제공하며 이 기사는 C#에서 스레드를 종료하는 프로세스를 설명하는 것을 목표로 합니다.

스레드를 종료한다는 목표를 위해 Abort() 메서드를 사용할 것입니다. ThreadAbortExceptionAbort() 메서드에 의해 호출된 스레드에 throw되고 이 예외에 대한 응답으로 스레드가 종료됩니다.

스레드를 중지하려면 먼저 스레드를 시작해야 합니다. 스레드 생성을 완료하려면 다음 단계를 따르십시오.

Abort() 메서드를 사용하여 C#에서 스레드 중지

System.Threading 라이브러리의 메소드를 활용하여 스레드를 시작하고 종료하려면 가져오십시오.

using System.Threading;

ThreadDemo 클래스를 만들어야 합니다.

class ThreadDemo {}

이 클래스 내에서 First Thread를 네 번 반복하고 출력하는 루프를 사용하여 threadAssign()이라는 스레드 메서드를 만듭니다.

public void threadAssign() {
  for (int threadCount = 0; threadCount < 6; threadCount++) {
    Console.WriteLine("First Thread");
  }
}

그런 다음 메인 함수를 포함하여 ThreadExampleMain이라는 새 클래스를 생성합니다.

class ThreadExampleMain {
  public static void Main() {}
}

Main() 메서드 내에서 스레드를 시작 및 중지하려면 다음 작업을 수행해야 합니다. ThreadDemo 데이터 유형으로 threadDemo 변수를 생성하고 초기화합니다.

ThreadDemo threadDemo = new ThreadDemo();

Thread 클래스를 사용하여 새 변수를 초기화하고 이전에 생성한 스레드에 할당합니다.

Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));

스레드는 Start() 함수를 호출하여 시작할 수 있습니다.

thread.Start();

마지막으로 System.Threading 라이브러리의 Abort() 메서드를 사용하여 스레드를 종료할 수 있습니다. 스레드가 종료되었음을 나타내기 위해 "Thread is Abort"도 인쇄합니다.

Console.WriteLine("Thread is abort");
thread.Abort();

소스 코드:

using System;
using System.Threading;

class ThreadDemo {
  void threadAssign() {
    for (int threadCount = 0; threadCount < 6; threadCount++) {
      Console.WriteLine("First Thread");
    }
  }
  class ThreadExampleMain {
    public static void Main() {
      ThreadDemo threadDemo = new ThreadDemo();
      Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));
      thread.Start();
      Console.WriteLine("Thread is abort");
      thread.Abort();
    }
  }
}

출력:

First Thread
First Thread
First Thread
First Thread
First Thread
First Thread
Thread is abort