다음을 통해 공유


System.Threading 네임스페이스

다중 스레드 프로그래밍을 가능하게 하는 클래스와 인터페이스를 제공합니다. 이 네임스페이스는 스레드 작업 및 데이터 액세스를 동기화하기 위한 클래스(Mutex, Monitor, Interlocked, AutoResetEvent 등) 외에 시스템에서 제공하는 스레드 풀을 사용할 수 있도록 하는 ThreadPool 클래스와 스레드 풀 스레드에 대해 콜백 메서드를 실행하는 Timer 클래스도 포함합니다.

클래스

AbandonedMutexException

스레드가 다른 스레드에서 해제하지 않고 종료하여 중단한 Mutex 개체를 가져오면 throw되는 예외입니다.

AsyncLocal<T>

비동기 메서드와 같은 지정된 비동기 제어 흐름에 로컬인 앰비언트 데이터를 나타냅니다.

AutoResetEvent

신호를 받으면 하나의 대기 스레드를 해제한 다음 자동으로 다시 설정되는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 상속될 수 없습니다.

Barrier

여러 작업이 여러 단계에 걸쳐 특정 알고리즘에서 병렬로 함께 작동할 수 있도록 합니다.

BarrierPostPhaseException

Barrier의 사후 단계 작업이 실패할 경우 throw되는 예외입니다.

CancellationTokenSource

취소되도록 CancellationToken에 신호를 보냅니다.

CompressedStack

현재 스레드에서 압축된 스택을 설정 및 캡처하기 위한 메서드를 제공합니다. 이 클래스는 상속될 수 없습니다.

CountdownEvent

수가 0에 도달하는 경우 신호를 받는 동기화 기본 형식을 나타냅니다.

EventWaitHandle

스레드 동기화 이벤트를 나타냅니다.

EventWaitHandleAcl

특정 ACL(액세스 제어 목록) 보안을 사용하여 EventWaitHandle 개체를 만드는 데 사용되는 Windows 관련 확장 메서드를 제공합니다.

ExecutionContext

현재 스레드에 대한 실행 컨텍스트를 관리합니다. 이 클래스는 상속될 수 없습니다.

HostExecutionContext

호스트 실행 컨텍스트를 캡슐화하여 스레드 간에 전파합니다.

HostExecutionContextManager

공용 언어 런타임 호스트에서 실행 컨텍스트의 흐름 또는 마이그레이션에 참가할 수 있도록 하는 기능을 제공합니다.

Interlocked

다중 스레드에서 공유하는 변수에 대한 원자 단위 연산을 제공합니다.

LazyInitializer

초기화 지연 루틴을 제공합니다.

Lock

서로 다른 스레드 간의 코드 영역에서 상호 배제를 달성하기 위한 메커니즘을 제공합니다.

LockRecursionException

잠금에 대한 재귀 정책과 맞지 않는 방식으로 잠금을 재귀적으로 시작할 때 throw되는 예외입니다.

ManualResetEvent

신호를 받을 때 수동으로 재설정되어야 하는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 상속될 수 없습니다.

ManualResetEventSlim

신호를 받을 때 수동으로 재설정되어야 하는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 ManualResetEvent의 간단한 대체 항목입니다.

Monitor

개체에 대한 액세스를 동기화하는 메커니즘을 제공합니다.

Mutex

프로세스 간 동기화에 사용할 수도 있는 동기화 기본 형식입니다.

MutexAcl

특정 ACL(액세스 제어 목록) 보안을 사용하여 Mutex 개체를 만드는 데 사용되는 Windows 관련 확장 메서드를 제공합니다.

Overlapped

Overlapped 인스턴스의 정보를 NativeOverlapped 구조체로 전송하기 위한 메서드를 포함하여 Win32 OVERLAPPED 구조체의 관리되는 표현을 제공합니다.

PeriodicTimer

타이머 틱을 비동기적으로 대기할 수 있도록 하는 주기적 타이머를 제공합니다.

PreAllocatedOverlapped

네이티브 중첩된 I/O 작업에 대한 미리 할당된 상태를 나타냅니다.

ReaderWriterLock

단일 작성기 및 다중 판독기를 지원하는 잠금을 정의합니다.

ReaderWriterLockSlim

여러 스레드에서 읽을 수 있도록 허용하거나 쓰기를 위한 단독 액세스를 허용하여 리소스에 대한 액세스를 관리하는 데 사용되는 잠금을 나타냅니다.

RegisteredWaitHandle

RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)을 호출할 때 등록된 핸들을 나타냅니다. 이 클래스는 상속될 수 없습니다.

Semaphore

리소스 또는 리소스 풀에 동시에 액세스할 수 있는 스레드 수를 제한합니다.

SemaphoreAcl

특정 ACL(액세스 제어 목록) 보안을 사용하여 Semaphore 개체를 만드는 데 사용되는 Windows 관련 확장 메서드를 제공합니다.

SemaphoreFullException

카운트가 이미 최대값에 도달한 세마포에 대해 Release 메서드를 호출한 경우 throw되는 예외입니다.

SemaphoreSlim

리소스 또는 리소스 풀에 동시에 액세스할 수 있는 스레드 수를 제한하는 Semaphore 대신 사용할 수 있는 간단한 클래스를 나타냅니다.

SynchronizationContext

다양한 동기화 모델에서 동기화 컨텍스트를 전파하기 위한 기본 기능을 제공합니다.

SynchronizationLockException

메서드가 지정된 Monitor에 대해 잠금을 소유하도록 호출자에게 요구하지만 해당 잠금을 소유하지 않는 호출자가 해당 메서드를 호출할 때 throw되는 예외입니다.

Thread

스레드를 만들고 제어하며, 해당 속성을 설정하고, 상태를 가져옵니다.

ThreadAbortException

Abort(Object) 메서드를 호출할 때 throw되는 예외입니다. 이 클래스는 상속될 수 없습니다.

ThreadExceptionEventArgs

ThreadException 이벤트에 대한 데이터를 제공합니다.

ThreadingAclExtensions

EventWaitHandle, MutexSemaphore에 대한 ACL(액세스 제어 목록) 보안 설명자를 관리하기 위한 Windows 특정 확장 메서드를 제공합니다.

ThreadInterruptedException

Thread가 대기 상태에서 중단되었을 때 throw되는 예외입니다.

ThreadLocal<T>

데이터의 스레드 로컬 스토리지를 제공합니다.

ThreadPool

작업 실행, 작업 항목 게시, 비동기 I/O 처리, 다른 스레드 대신 기다리기 및 타이머 처리에 사용할 수 있는 스레드 풀을 제공합니다.

ThreadPoolBoundHandle

시스템 스레드 풀에 바인딩되고 하위 수준의 구성 요소가 비동기 I/O 작업에 대한 알림을 받을 수 있도록 하는 I/O 핸들을 나타냅니다.

ThreadStartException

내부 운영 체제 스레드가 사용자 코드를 실행할 수 없는 상태로 시작된 후 관리되는 스레드에서 실패가 발생한 경우에 throw되는 예외입니다.

ThreadStateException

Thread가 메서드 호출에 대한 잘못된 ThreadState인 경우 throw되는 예외입니다.

Timeout

무한 시간 제한 간격을 지정하는 상수를 포함합니다. 이 클래스는 상속될 수 없습니다.

Timer

지정된 간격으로 스레드 풀 스레드에 대해 메서드를 실행하는 메커니즘을 제공합니다. 이 클래스는 상속될 수 없습니다.

Volatile

휘발성 메모리 작업을 수행하기 위한 메서드를 포함합니다.

WaitHandle

공유 리소스에 대한 단독 액세스를 기다리는 운영 체제 관련 개체를 캡슐화합니다.

WaitHandleCannotBeOpenedException

존재하지 않는 시스템 뮤텍스, 세마포 또는 이벤트 대기 핸들을 열려고 할 때 throw되는 예외입니다.

WaitHandleExtensions

대기 핸들에 대한 안전한 핸들을 사용하여 작업하기 위해 편의 메서드를 제공합니다.

구조체

AsyncFlowControl

마이그레이션 복원 기능 또는 스레드 간 실행 컨텍스트 흐름에 대한 복원 기능을 제공합니다.

AsyncLocalValueChangedArgs<T>

변경 알림을 등록하는 AsyncLocal<T> 인스턴스에 데이터 변경 정보를 제공하는 클래스입니다.

CancellationToken

작업을 취소하지 않아야 함을 전파합니다.

CancellationTokenRegistration

CancellationToken에 등록된 콜백 대리자를 나타냅니다.

Lock.Scope

Lock 입력되었을 수 있는 을 나타냅니다.

LockCookie

단일 작성기/다중 판독기 기능을 구현하는 잠금을 정의합니다. 이 클래스는 값 형식입니다.

NativeOverlapped

비관리 코드에서 볼 수 있고 같은 레이아웃을 끝에 예약 필드가 있는 Win32 OVERLAPPED 구조로 가지는 explicit 레이아웃을 제공합니다.

SpinLock

잠금을 얻으려는 스레드가 잠금을 사용할 수 있을 때까지 루프에서 반복적으로 확인하면서 대기하는 기본적인 상호 배타 잠금을 제공합니다.

SpinWait

회전 기반 대기를 지원합니다.

인터페이스

IThreadPoolWorkItem

ThreadPool에 의해 실행될 수 있는 작업 항목을 나타냅니다.

ITimer

기한 및 기간을 변경할 수 있는 타이머를 나타냅니다.

열거형

ApartmentState

Thread의 아파트 상태를 지정합니다.

EventResetMode

EventWaitHandle이 신호를 받은 후 자동이나 수동으로 다시 설정되는지 여부를 나타냅니다.

LazyThreadSafetyMode

Lazy<T> 인스턴스가 여러 스레드 간 액세스를 동기화하는 방법을 지정합니다.

LockRecursionPolicy

동일한 스레드에서 잠금을 여러 번 시작할 수 있는지 여부를 지정합니다.

ThreadPriority

Thread의 예약 우선 순위를 지정합니다.

ThreadState

Thread의 실행 상태를 지정합니다.

대리자

ContextCallback

새 컨텍스트 내에서 호출될 메서드를 나타냅니다.

IOCompletionCallback

스레드 풀의 I/O 연산이 완료되면 오류 코드, 바이트 수 및 겹쳐진 값 형식을 받습니다.

ParameterizedThreadStart

Thread에서 실행되는 메서드를 나타냅니다.

SendOrPostCallback

메시지가 동기화 컨텍스트로 디스패치될 때 호출할 메서드를 나타냅니다.

ThreadExceptionEventHandler

ApplicationThreadException 이벤트를 처리할 메서드를 나타냅니다.

ThreadStart

Thread에서 실행되는 메서드를 나타냅니다.

TimerCallback

Timer의 호출을 처리하는 메서드를 나타냅니다.

WaitCallback

스레드 풀 스레드에 의해 실행될 콜백 메서드를 나타냅니다.

WaitOrTimerCallback

WaitHandle이 신호를 받거나 시간 초과될 때 호출될 메서드를 나타냅니다.