스레딩 개체 및 기능
업데이트: 2007년 11월
.NET Framework에서는 다중 스레드 응용 프로그램을 만들고 관리할 수 있는 여러 개체를 제공합니다. 관리되는 스레드는 Thread 클래스에서 나타냅니다. ThreadPool 클래스를 사용하면 다중 스레드 백그라운드 작업을 쉽게 만들고 관리할 수 있습니다. BackgroundWorker 클래스는 사용자 인터페이스와 상호 작용하는 작업에 대해 같은 역할을 수행합니다. Timer 클래스는 시간 간격에서 백그라운드 작업을 실행합니다.
이 외에도 .NET Framework 버전 2.0에 소개된 Semaphore 및 EventWaitHandle 클래스를 비롯하여 스레드의 작업을 동기화하는 여러 클래스가 있습니다. 이러한 클래스의 기능은 동기화 기본 형식 개요에 비교되어 있습니다.
단원 내용
관리되는 스레드 풀
스레드를 직접 관리하지 않아도 스레드에서 작업을 수행하도록 요청해 주는 ThreadPool 클래스에 대해 설명합니다.타이머
Timer를 사용하여 특정 시간에 대리자가 호출되도록 지정하는 방법을 설명합니다.Monitor
Monitor 클래스를 사용하여 멤버에 대한 액세스를 동기화하거나 사용자 고유의 스레드 관리 유형을 빌드하는 방법을 설명합니다.대기 핸들
이벤트 대기 핸들, 뮤텍스 및 세마포에 대한 추상 기본 클래스이며, 여러 개의 동기화 이벤트를 대기할 수 있게 하는 WaitHandle 클래스에 대해 설명합니다.EventWaitHandle, AutoResetEvent 및 ManualResetEvent
신호를 보내고 신호를 대기하여 스레드 작업을 동기화하는 데 사용되는 관리되는 이벤트 대기 핸들에 대해 설명합니다.뮤텍스
Mutex를 사용하여 개체에 대한 액세스를 동기화하거나 사용자 고유의 동기화 메커니즘을 빌드하는 방법을 설명합니다.연동 작업
Interlocked 클래스를 사용하여 값을 증가 또는 감소시킨 다음 해당 값을 단일 원자 연산에 저장하는 방법을 설명합니다.판독기 및 작성기 잠금
단일 작성자/다수 독자 의미를 구현하는 잠금을 정의합니다.세마포
Semaphore 개체와 이 개체를 사용하여 제한된 리소스에 대한 액세스를 제어하는 방법을 설명합니다.동기화 기본 형식 개요
관리되는 스레드를 잠그고 동기화하기 위해 제공되는 .NET Framework 클래스의 기능을 비교합니다.
참조
Thread
관리되는 스레드가 비관리 코드에서 파생되었는지 관리되는 응용 프로그램에서 만들어졌는지에 상관없이 관리되는 스레드를 나타내는 Thread 클래스의 참조 설명서를 제공합니다.BackgroundWorker
사용자 인터페이스와 상호 작용하여 사용자 인터페이스 스레드에서 발생한 이벤트를 통해 통신하는 백그라운드 작업을 설정합니다.
관련 단원
- 비동기 파일 I/O
I/O 비동기 완료 포트에서 스레드 풀을 사용하여 입력/출력 작업이 완료된 경우에만 처리를 요청하는 방법을 설명합니다.