System.Threading 네임스페이스
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
다중 스레드 프로그래밍을 사용하도록 설정하는 클래스 및 인터페이스를 제공합니다. 이 네임스페이스에는 스레드 활동 동기화 및 데이터 액세스(, , , Mutex등)를 위한 클래스 외에도 시스템에서 제공하는 스레드 풀을 사용할 수 있는 클래스와 Monitor 스레드 풀 스레드에서 콜백 메서드를 실행하는 클래스가 포함 InterlockedAutoResetEvent됩니다. ThreadPoolTimer
클래스
| Name | Description |
|---|---|
| AbandonedMutexException |
한 스레드가 다른 스레드가 해제하지 않고 종료하여 중단한 개체를 획득 Mutex 할 때 throw되는 예외입니다. |
| AsyncLocal<T> |
지정된 비동기 제어 흐름(예: 비동기 메서드)에 로컬인 앰비언트 데이터를 나타냅니다. |
| AutoResetEvent |
신호를 받으면 대기 중인 단일 스레드를 해제한 다음 자동으로 다시 설정하는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 상속할 수 없습니다. |
| Barrier |
여러 태스크가 여러 단계를 통해 알고리즘을 병렬로 공동으로 작업할 수 있도록 합니다. |
| BarrierPostPhaseException |
사후 단계 작업이 실패할 때 throw되는 예외입니다 Barrier . |
| CancellationTokenSource |
CancellationToken 취소해야 한다는 신호를 표시합니다. |
| CompressedStack |
현재 스레드에서 압축된 스택을 설정하고 캡처하는 메서드를 제공합니다. 이 클래스는 상속할 수 없습니다. |
| CountdownEvent |
개수가 0에 도달하면 신호를 받은 동기화 기본 형식을 나타냅니다. |
| EventWaitHandle |
스레드 동기화 이벤트를 나타냅니다. |
| ExecutionContext |
현재 스레드의 실행 컨텍스트를 관리합니다. 이 클래스는 상속할 수 없습니다. |
| HostExecutionContext |
스레드 간에 호스트 실행 컨텍스트를 캡슐화하고 전파합니다. |
| HostExecutionContextManager |
공용 언어 런타임 호스트가 실행 컨텍스트의 흐름 또는 마이그레이션에 참여할 수 있도록 하는 기능을 제공합니다. |
| Interlocked |
여러 스레드에서 공유하는 변수에 대한 원자성 연산을 제공합니다. |
| LazyInitializer |
지연 초기화 루틴을 제공합니다. |
| LockRecursionException |
잠금에 재귀 항목이 있을 때 throw되는 예외는 잠금에 대한 재귀 정책과 호환되지 않습니다. |
| ManualResetEvent |
신호를 받을 때 수동으로 다시 설정해야 하는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 상속할 수 없습니다. |
| ManualResetEventSlim |
신호를 받을 때 수동으로 다시 설정해야 하는 스레드 동기화 이벤트를 나타냅니다. 이 클래스는 간단한 대안 ManualResetEvent입니다. |
| Monitor |
개체에 대한 액세스를 동기화하는 메커니즘을 제공합니다. |
| Mutex |
프로세스 간 동기화에도 사용할 수 있는 동기화 기본 형식입니다. |
| Overlapped |
인스턴스에서 구조체로 정보를 전송하는 메서드를 포함하여 Win32 |
| PreAllocatedOverlapped |
네이티브 겹치는 I/O 작업에 대해 미리 할당된 상태를 나타냅니다. |
| ReaderWriterLock |
단일 작성기 및 여러 판독기를 지원하는 잠금을 정의합니다. |
| ReaderWriterLockSlim |
여러 스레드에서 읽기 또는 쓰기 전용 액세스를 허용하는 리소스에 대한 액세스를 관리하는 데 사용되는 잠금을 나타냅니다. |
| RegisteredWaitHandle |
를 호출 RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)할 때 등록된 핸들을 나타냅니다. 이 클래스는 상속할 수 없습니다. |
| Semaphore |
리소스 또는 리소스 풀에 동시에 액세스할 수 있는 스레드 수를 제한합니다. |
| SemaphoreFullException |
개수가 이미 최대인 세마포에서 메서드를 호출할 때 Release throw되는 예외입니다. |
| SemaphoreSlim |
리소스 또는 리소스 풀에 Semaphore 동시에 액세스할 수 있는 스레드 수를 제한하는 간단한 대안을 나타냅니다. |
| SynchronizationContext |
다양한 동기화 모델에서 동기화 컨텍스트를 전파하기 위한 기본 기능을 제공합니다. |
| SynchronizationLockException |
메서드가 지정된 모니터에서 호출자가 잠금을 소유하도록 요구하고 해당 잠금을 소유하지 않는 호출자가 메서드를 호출할 때 throw되는 예외입니다. |
| Thread |
스레드를 만들고 제어하고, 우선 순위를 설정하고, 상태를 가져옵니다. |
| ThreadAbortException |
메서드를 호출할 때 throw되는 예외입니다 Abort(Object) . 이 클래스는 상속할 수 없습니다. |
| ThreadExceptionEventArgs |
ThreadException 이벤트에 대한 데이터를 제공합니다. |
| ThreadInterruptedException |
대기 중인 상태에서 중단된 경우 throw Thread 되는 예외입니다. |
| ThreadLocal<T> |
데이터의 스레드 로컬 스토리지를 제공합니다. |
| ThreadPool |
작업을 실행하고, 작업 항목을 게시하고, 비동기 I/O를 처리하고, 다른 스레드를 대신하여 대기하고, 타이머를 처리하는 데 사용할 수 있는 스레드 풀을 제공합니다. |
| ThreadPoolBoundHandle |
시스템 스레드 풀에 바인딩되고 하위 수준 구성 요소가 비동기 I/O 작업에 대한 알림을 받을 수 있도록 하는 I/O 핸들을 나타냅니다. |
| ThreadStartException |
기본 운영 체제 스레드가 시작된 후 관리되는 스레드에서 오류가 발생하지만 스레드가 사용자 코드를 실행할 준비가 되기 전에 throw되는 예외입니다. |
| ThreadStateException |
메서드 호출에 대해 잘못된 Thread 경우 throw ThreadState 되는 예외입니다. |
| Timeout |
무한 시간 제한 간격을 지정하는 상수를 포함합니다. 이 클래스는 상속할 수 없습니다. |
| Timer |
지정된 간격으로 스레드 풀 스레드에서 메서드를 실행하는 메커니즘을 제공합니다. 이 클래스는 상속할 수 없습니다. |
| Volatile |
휘발성 메모리 작업을 수행하기 위한 메서드를 포함합니다. |
| WaitHandle |
공유 리소스에 대한 단독 액세스를 기다리는 운영 체제별 개체를 캡슐화합니다. |
| WaitHandleCannotBeOpenedException |
존재하지 않는 시스템 뮤텍스, 세마포 또는 이벤트 대기 핸들을 열려고 할 때 throw되는 예외입니다. |
| WaitHandleExtensions |
대기 핸들에 대한 안전한 핸들을 사용하기 위한 편리한 메서드를 제공합니다. |
구조체
| Name | Description |
|---|---|
| AsyncFlowControl |
스레드 간 실행 컨텍스트의 마이그레이션 또는 흐름을 복원하는 기능을 제공합니다. |
| AsyncLocalValueChangedArgs<T> |
변경 알림을 등록하는 AsyncLocal<T> 인스턴스에 데이터 변경 정보를 제공하는 클래스입니다. |
| CancellationToken |
작업을 취소해야 한다는 알림을 전파합니다. |
| CancellationTokenRegistration |
에 등록된 콜백 대리자를 CancellationToken나타냅니다. |
| LockCookie |
단일 작성기/다중 판독기 의미 체계를 구현하는 잠금을 정의합니다. 값 형식입니다. |
| NativeOverlapped |
관리되지 않는 코드에서 볼 수 있으며 Win32 OVERLAPPED 구조체와 동일한 레이아웃과 끝에 추가 예약 필드가 있는 명시적 레이아웃을 제공합니다. |
| SpinLock |
잠금을 획득하려는 스레드가 잠금을 사용할 수 있게 될 때까지 반복적으로 확인하는 루프에서 대기하는 상호 제외 잠금 기본 형식을 제공합니다. |
| SpinWait |
스핀 기반 대기를 지원합니다. |
열거형
| Name | Description |
|---|---|
| ApartmentState |
Thread아파트 상태를 지정합니다. |
| EventResetMode |
신호를 받은 후 EventWaitHandle 자동으로 또는 수동으로 다시 설정되는지 여부를 나타냅니다. |
| LazyThreadSafetyMode |
Lazy<T> 인스턴스가 여러 스레드 간에 액세스를 동기화하는 방법을 지정합니다. |
| LockRecursionPolicy |
동일한 스레드에서 잠금을 여러 번 입력할 수 있는지 여부를 지정합니다. |
| ThreadPriority |
Thread예약 우선 순위를 지정합니다. |
| ThreadState |
Thread실행 상태를 지정합니다. |
대리자
| Name | Description |
|---|---|
| ContextCallback |
새 컨텍스트 내에서 호출할 메서드를 나타냅니다. |
| IOCompletionCallback |
스레드 풀에서 I/O 작업이 완료되면 오류 코드, 바이트 수 및 겹치는 값 형식을 받습니다. |
| ParameterizedThreadStart |
에서 실행되는 메서드를 Thread나타냅니다. |
| SendOrPostCallback |
메시지를 동기화 컨텍스트로 디스패치할 때 호출할 메서드를 나타냅니다. |
| ThreadExceptionEventHandler |
의 이벤트를 처리할 메서드를 ThreadExceptionApplication나타냅니다. |
| ThreadStart |
에서 실행되는 메서드를 Thread나타냅니다. |
| TimerCallback |
에서 호출을 처리하는 메서드를 Timer나타냅니다. |
| WaitCallback |
스레드 풀 스레드에서 실행할 콜백 메서드를 나타냅니다. |
| WaitOrTimerCallback |
신호가 전송되거나 시간이 초과될 때 호출할 메서드를 WaitHandle 나타냅니다. |