스레딩 개체 및 기능Threading Objects and Features

.NET Framework에서는 다중 스레드 응용 프로그램을 만들고 관리하는 데 도움이 되는 많은 개체를 제공합니다.The .NET Framework provides a number of objects that help you create and manage multithreaded applications. 관리되는 스레드는 Thread 클래스를 통해 표현됩니다.Managed threads are represented by the Thread class. ThreadPool 클래스는 다중 스레드 백그라운드 작업을 쉽게 만들고 관리할 수 있게 해줍니다.The ThreadPool class provides easy creation and management of multithreaded background tasks. BackgroundWorker 클래스는 사용자 인터페이스와 상호 작용하는 작업에 대해 동일한 기능을 수행합니다.The BackgroundWorker class does the same for tasks that interact with the user interface. Timer 클래스는 정해진 간격마다 백그라운드 작업을 실행합니다.The Timer class executes background tasks at timed intervals.

또한 .NET Framework 버전 2.0에서 도입된 SemaphoreEventWaitHandle 클래스를 포함하여 스레드 작업을 동기화하는 많은 클래스가 있습니다.In addition, there are a number of classes that synchronize activities of threads, including the Semaphore and EventWaitHandle classes introduced in the .NET Framework version 2.0. 이러한 클래스의 기능은 동기화 기본 형식 개요에서 비교합니다.The features of these classes are compared in Overview of Synchronization Primitives.

단원 내용In This Section

관리되는 스레드 풀The Managed Thread Pool
직접 스레드 관리를 수행할 필요 없이 스레드에 작업을 실행하도록 요청할 수 있게 해주는 ThreadPool 클래스를 설명합니다.Explains the ThreadPool class, which enables you to request a thread to execute a task without having to do any thread management yourself.

타이머Timers
Timer를 사용하여 대리자가 지정된 시간에 호출되도록 지정하는 방법을 설명합니다.Explains how to use a Timer to specify a delegate to be called at a specified time.

모니터Monitors
Monitor 클래스를 사용하여 멤버에 대한 액세스를 동기화하거나 고유한 스레드 관리 유형을 빌드하는 방법을 설명합니다.Explains how to use the Monitor class to synchronize access to a member or to build your own thread management types.

대기 핸들Wait Handles
이벤트 대기 핸들, 뮤텍스 및 세마포에 대한 추상 기본 클래스로 여러 동기화 이벤트를 대기할 수 있게 해주는 WaitHandle 클래스를 설명합니다.Describes the WaitHandle class, the abstract base class for event wait handles, mutexes, and semaphores, which enables waiting for multiple synchronization events.

EventWaitHandle, AutoResetEvent, CountdownEvent, ManualResetEventEventWaitHandle, AutoResetEvent, CountdownEvent, ManualResetEvent
신호 전송 및 신호 대기를 통해 스레드 작업을 동기화하는 데 사용되는 관리되는 이벤트 대기 핸들을 설명합니다.Describes managed event wait handles, which are used to synchronize thread activities by signaling and waiting for signals.

뮤텍스Mutexes
사용 하는 방법에 설명 된 Mutex 개체에 대 한 액세스를 동기화 하거나 고유한 동기화 메커니즘을 구축 합니다.Explains how to use a Mutex to synchronize access to an object or to build your own synchronization mechanisms.

연동 작업Interlocked Operations
Interlocked 클래스를 사용하여 값을 증가 또는 감소시키고 단일 원자성 작업에 값을 저장하는 방법을 설명합니다.Explains how to use the Interlocked class to increment or decrement a value and store the value in a single atomic operation.

판독기 및 작성기 잠금Reader-Writer Locks
단일 작성기/다중 판독기 의미 체계를 구현하는 잠금을 정의합니다.Defines a lock that implements single-writer/multiple-reader semantics.

세마포 및 SemaphoreSlimSemaphore and SemaphoreSlim
Semaphore 개체 및 이 개체를 사용하여 제한된 리소스에 대한 액세스를 제어하는 방법을 설명합니다.Describes Semaphore objects and explains how to use them to control access to limited resources.

동기화 기본 형식 개요Overview of Synchronization Primitives
관리되는 스레드 잠금 및 동기화를 위해 제공되는 .NET Framework 클래스의 기능을 비교합니다.Compares the features of the .NET Framework classes provided for locking and synchronizing managed threads.

장벽Barrier
단계별 작업에서 스레드를 조정하기 위해 장벽 패턴을 구현하는 Barrier 개체를 설명합니다.Describes Barrier objects that implement the barrier pattern for coordination of threads in phased operations.

스핀 잠금SpinLock
특정 하위 수준 시나리오에 대한 Monitor 클래스의 경량 대체 항목인 SpinLock을 설명합니다.Describes SpinLock, a lightweight alternative to the Monitor class for certain low-level scenarios.

스핀 대기SpinWait
커널 기반 대기를 시작하기 전에 사용 중인 회전을 수행하는 낮은 수준의 동기화 기본 형식인 SpinWait를 설명합니다.Describes SpinWait, a low level synchronization primitive that performs busy spinning prior to initiating a kernel-based wait.

참조Reference

Thread
비관리 코드에서 가져왔는지 또는 관리되는 응용 프로그램에서 만들어졌는지에 관계없이 관리되는 스레드를 나타내는 Thread 클래스에 대한 참조 설명서를 제공합니다.Provides reference documentation for the Thread class, which represents a managed thread, whether it came from unmanaged code or was created in a managed application.

BackgroundWorker
사용자 인터페이스 스레드에서 발생하는 이벤트를 통해 통신하여 사용자 인터페이스와 상호 작용하는 백그라운드 작업을 사용하도록 설정합니다.Enables background tasks that interact with the user interface, communicating via events raised on the user-interface thread.

비동기 파일 I/OAsynchronous File I/O
I/O 비동기 완료 포트가 스레드 풀을 사용하여 입출력 작업이 완료된 경우에만 처리를 요청하는 방법을 설명합니다.Describes how I/O asynchronous completion ports use the thread pool to require processing only when an input/output operation completes.

TPL(작업 병렬 라이브러리)Task Parallel Library (TPL)
.NET Framework 4.NET Framework 4 이상에서 다중 스레드 프로그래밍에 권장되는 접근 방식을 설명합니다.Describes the recommended approach for multithreaded programming in the .NET Framework 4.NET Framework 4 and later.