스레딩(C# 프로그래밍 가이드)

업데이트: 2007년 11월

스레딩을 사용하면 C# 프로그램에서 동시 처리를 수행하여 한 번에 여러 작업을 진행할 수 있습니다. 예를 들어, 스레딩을 사용하여 사용자의 입력을 모니터링하고 백그라운드 작업을 수행하고 입력의 동시 스트림을 처리할 수 있습니다. System.Threading 네임스페이스는 다중 스레드 프로그래밍을 지원하고 새 스레드 작성 및 시작, 다중 스레드 동기화, 스레드 일시 중단 및 스레드 취소 등의 작업을 쉽게 수행할 수 있도록 여러 가지 클래스와 인터페이스를 제공합니다.

C# 코드에 스레딩을 통합하려면 주 스레드 외부에서 실행되는 함수를 만들고 새 Thread 개체가 이를 가리키도록 하면 됩니다. 다음 코드 예제에서는 C# 응용 프로그램에 새 스레드를 만듭니다.

System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);

다음 코드 예제에서는 C# 응용 프로그램의 새 스레드를 시작합니다.

newThread.Start();

다중 스레딩을 사용하면 다중 작업 및 응답성과 관련된 문제를 해결할 수 있지만 메커니즘을 계획하는 중앙 스레드에 따라 아무런 예고 없이 스레드가 중단되고 다시 시작되기 때문에 리소스 공유 및 동기화 문제가 발생할 수도 있습니다 자세한 내용은 스레드 동기화(C# 프로그래밍 가이드)를 참조하십시오. 개요 정보를 보려면 스레드 및 스레딩 사용을 참조하십시오.

개요

스레드에는 다음과 같은 속성이 있습니다.

  • 스레드를 사용하면 C# 프로그램에서 동시 처리 작업을 수행할 수 있습니다.

  • .NET Framework의 System.Threading 네임스페이스를 사용하면 스레드를 더 쉽게 사용할 수 있습니다.

  • 스레드는 응용 프로그램의 리소스를 공유합니다. 자세한 내용은 스레드 및 스레딩 사용을 참조하십시오.

관련 단원

자세한 내용은 다음 항목을 참조하십시오.

C# 언어 사양

자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.

  • 3.10 실행 순서

  • 8.12 lock 문

  • 10.5.3 Volatile 필드

  • 10.8.1 필드와 유사한 이벤트

참고 항목

작업

Monitor Synchronization 기술 샘플

Wait Synchronization 기술 샘플

개념

C# 프로그래밍 가이드

뮤텍스

Monitor

연동 작업

AutoResetEvent

참조

Thread

Mutex

대리자(C# 프로그래밍 가이드)

기타 리소스

HOWTO: Visual C# .NET을 사용하여 다중 스레딩 환경에서 공유 리소스에 대한 액세스 동기화