System.Threading 네임스페이스

System.Threading 네임스페이스는 다중 스레드 프로그래밍을 할 수 있는 클래스와 인터페이스를 제공합니다. The System.Threading namespace provides classes and interfaces that enable multithreaded programming. 이 네임스페이스는 스레드 작업 및 데이터 액세스를 동기화하기 위한 클래스(Mutex, Monitor, Interlocked, AutoResetEvent 등) 외에 시스템에서 제공하는 스레드 풀을 사용할 수 있도록 하는 ThreadPool 클래스와 스레드 풀 스레드에 대해 콜백 메서드를 실행하는 Timer 클래스도 포함합니다. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.

클래스

AbandonedMutexException

스레드가 다른 스레드에서 해제하지 않고 종료하여 중단한 Mutex 개체를 가져오면 throw되는 예외입니다.The exception that is thrown when one thread acquires a Mutex object that another thread has abandoned by exiting without releasing it.

AsyncLocal<T>

비동기 메서드와 같은 지정된 비동기 제어 흐름에 로컬인 앰비언트 데이터를 나타냅니다.Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.

AutoResetEvent

단일 대기 스레드를 해제한 후에 신호를 받으면 자동으로 재설정되는 스레드 동기화 이벤트를 나타냅니다.Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

Barrier

여러 작업이 여러 단계에 걸쳐 특정 알고리즘에서 병렬로 함께 작동할 수 있도록 합니다.Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.

BarrierPostPhaseException

Barrier의 사후 단계 작업이 실패할 경우 throw되는 예외입니다.The exception that is thrown when the post-phase action of a Barrier fails.

CancellationTokenSource

취소되도록 CancellationToken에 신호를 보냅니다.Signals to a CancellationToken that it should be canceled.

CompressedStack

현재 스레드에서 압축된 스택을 설정 및 캡처하기 위한 메서드를 제공합니다.Provides methods for setting and capturing the compressed stack on the current thread. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

CountdownEvent

수가 0에 도달하는 경우 신호를 받는 동기화 기본 형식을 나타냅니다.Represents a synchronization primitive that is signaled when its count reaches zero.

EventWaitHandle

스레드 동기화 이벤트를 나타냅니다.Represents a thread synchronization event.

ExecutionContext

현재 스레드의 실행 컨텍스트를 관리합니다.Manages the execution context for the current thread. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

HostExecutionContext

호스트 실행 컨텍스트를 캡슐화하여 스레드 간에 전파합니다.Encapsulates and propagates the host execution context across threads.

HostExecutionContextManager

공용 언어 런타임 호스트에서 실행 컨텍스트의 흐름 또는 마이그레이션에 참가할 수 있도록 하는 기능을 제공합니다.Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.

Interlocked

다중 스레드에서 공유하는 변수에 대한 원자 단위 연산을 제공합니다.Provides atomic operations for variables that are shared by multiple threads.

LazyInitializer

초기화 지연 루틴을 제공합니다.Provides lazy initialization routines.

LockRecursionException

잠금에 대한 재귀 정책과 맞지 않는 방식으로 잠금을 재귀적으로 시작할 때 throw되는 예외입니다.The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

ManualResetEvent

신호를 받을 때 수동으로 재설정되어야 하는 스레드 동기화 이벤트를 나타냅니다.Represents a thread synchronization event that, when signaled, must be reset manually. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

ManualResetEventSlim

신호를 받을 때 수동으로 재설정되어야 하는 스레드 동기화 이벤트를 나타냅니다.Represents a thread synchronization event that, when signaled, must be reset manually. 이 클래스는 ManualResetEvent의 간단한 대체 항목입니다.This class is a lightweight alternative to ManualResetEvent.

Monitor

개체에 대한 액세스를 동기화하는 메커니즘을 제공합니다.Provides a mechanism that synchronizes access to objects.

Mutex

프로세스 간 동기화에 사용할 수도 있는 동기화 기본 형식입니다.A synchronization primitive that can also be used for interprocess synchronization.

Overlapped

Overlapped 인스턴스의 정보를 NativeOverlapped 구조체로 전송하기 위한 메서드를 포함하여 Win32 OVERLAPPED 구조체의 관리되는 표현을 제공합니다.Provides a managed representation of a Win32 OVERLAPPED structure, including methods to transfer information from an Overlapped instance to a NativeOverlapped structure.

PreAllocatedOverlapped

네이티브 중첩된 I/O 작업에 대한 미리 할당된 상태를 나타냅니다.Represents pre-allocated state for native overlapped I/O operations.

ReaderWriterLock

단일 작성기 및 다중 판독기를 지원하는 잠금을 정의합니다.Defines a lock that supports single writers and multiple readers.

ReaderWriterLockSlim

여러 스레드에서 읽을 수 있도록 허용하거나 쓰기를 위한 단독 액세스를 허용하여 리소스에 대한 액세스를 관리하는 데 사용되는 잠금을 나타냅니다.Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.

RegisteredWaitHandle

RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)을 호출할 때 등록된 핸들을 나타냅니다.Represents a handle that has been registered when calling RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

Semaphore

리소스 또는 리소스 풀에 동시에 액세스할 수 있는 스레드 수를 제한합니다.Limits the number of threads that can access a resource or pool of resources concurrently.

SemaphoreFullException

카운트가 이미 최대값에 도달한 세마포에서 Release 메서드를 호출하면 throw되는 예외입니다.The exception that is thrown when the Release method is called on a semaphore whose count is already at the maximum.

SemaphoreSlim

리소스 또는 리소스 풀에 동시에 액세스할 수 있는 스레드 수를 제한하는 Semaphore 대신 사용할 수 있는 간단한 클래스를 나타냅니다.Represents a lightweight alternative to Semaphore that limits the number of threads that can access a resource or pool of resources concurrently.

SynchronizationContext

다양한 동기화 모델에서 동기화 컨텍스트를 전파하기 위한 기본 기능을 제공합니다.Provides the basic functionality for propagating a synchronization context in various synchronization models.

SynchronizationLockException

메서드가 지정된 Monitor에 대해 잠금을 소유하도록 호출자에게 요구하지만 해당 잠금을 소유하지 않는 호출자가 해당 메서드를 호출할 때 throw되는 예외입니다.The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock.

Thread

스레드를 만들고 제어하며, 해당 속성을 설정하고, 상태를 가져옵니다.Creates and controls a thread, sets its priority, and gets its status.

ThreadAbortException

Abort(Object) 메서드를 호출할 때 throw되는 예외입니다.The exception that is thrown when a call is made to the Abort(Object) method. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

ThreadExceptionEventArgs

ThreadException 이벤트에 대한 데이터를 제공합니다.Provides data for the ThreadException event.

ThreadingAclExtensions
ThreadInterruptedException

Thread가 대기 상태에서 중단되었을 때 throw되는 예외입니다.The exception that is thrown when a Thread is interrupted while it is in a waiting state.

ThreadLocal<T>

데이터의 스레드 로컬 스토리지를 제공합니다.Provides thread-local storage of data.

ThreadPool

작업 실행, 작업 항목 게시, 비동기 I/O 처리, 다른 스레드 대신 기다리기 및 타이머 처리에 사용할 수 있는 스레드 풀을 제공합니다.Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers.

ThreadPoolBoundHandle

시스템 스레드 풀에 바인딩되고 하위 수준의 구성 요소가 비동기 I/O 작업에 대한 알림을 받을 수 있도록 하는 I/O 핸들을 나타냅니다.Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.

ThreadStartException

내부 운영 체제 스레드가 사용자 코드를 실행할 수 없는 상태로 시작된 후 관리되는 스레드에서 실패가 발생한 경우에 throw되는 예외입니다.The exception that is thrown when a failure occurs in a managed thread after the underlying operating system thread has been started, but before the thread is ready to execute user code.

ThreadStateException

Thread가 메서드 호출에 대한 잘못된 ThreadState인 경우 throw되는 예외입니다.The exception that is thrown when a Thread is in an invalid ThreadState for the method call.

Timeout

무한 시간 제한 간격을 지정하는 상수를 포함합니다.Contains constants that specify infinite time-out intervals. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

Timer

지정된 간격으로 스레드 풀 스레드에 대해 메서드를 실행하는 메커니즘을 제공합니다.Provides a mechanism for executing a method on a thread pool thread at specified intervals. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

Volatile

휘발성 메모리 작업을 수행하기 위한 메서드를 포함합니다.Contains methods for performing volatile memory operations.

WaitHandle

공유 리소스에 대한 단독 액세스를 기다리는 운영 체제 관련 개체를 캡슐화합니다.Encapsulates operating system-specific objects that wait for exclusive access to shared resources.

WaitHandleCannotBeOpenedException

존재하지 않는 시스템 뮤텍스, 세마포 또는 이벤트 대기 핸들을 열려고 할 때 throw되는 예외입니다.The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.

WaitHandleExtensions

대기 핸들에 대한 안전한 핸들을 사용하여 작업하기 위해 편의 메서드를 제공합니다.Provides convenience methods to for working with a safe handle for a wait handle.

구조체

AsyncFlowControl

마이그레이션 복원 기능 또는 스레드 간 실행 컨텍스트 흐름에 대한 복원 기능을 제공합니다.Provides the functionality to restore the migration, or flow, of the execution context between threads.

AsyncLocalValueChangedArgs<T>

변경 알림을 등록하는 AsyncLocal<T> 인스턴스에 데이터 변경 정보를 제공하는 클래스입니다.The class that provides data change information to AsyncLocal<T> instances that register for change notifications.

CancellationToken

작업을 취소하지 않아야 함을 전파합니다.Propagates notification that operations should be canceled.

CancellationTokenRegistration

CancellationToken에 등록된 콜백 대리자를 나타냅니다.Represents a callback delegate that has been registered with a CancellationToken.

LockCookie

단일 작성기/다중 판독기 기능을 구현하는 잠금을 정의합니다.Defines the lock that implements single-writer/multiple-reader semantics. 이 클래스는 값 형식입니다.This is a value type.

NativeOverlapped

비관리 코드에서 볼 수 있고 같은 레이아웃을 끝에 예약 필드가 있는 Win32 OVERLAPPED 구조로 가지는 explicit 레이아웃을 제공합니다.Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.

SpinLock

잠금을 얻으려는 스레드가 잠금을 사용할 수 있을 때까지 루프에서 반복적으로 확인하면서 대기하는 기본적인 상호 배타 잠금을 제공합니다.Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available.

SpinWait

회전 기반 대기를 지원합니다.Provides support for spin-based waiting.

인터페이스

IThreadPoolWorkItem

ThreadPool에 의해 실행될 수 있는 작업 항목을 나타냅니다.Represents a work item that can be executed by the ThreadPool.

열거형

ApartmentState

Thread의 아파트 상태를 지정합니다.Specifies the apartment state of a Thread.

EventResetMode

EventWaitHandle이 신호를 받은 후 자동이나 수동으로 다시 설정되는지 여부를 나타냅니다.Indicates whether an EventWaitHandle is reset automatically or manually after receiving a signal.

LazyThreadSafetyMode

Lazy<T> 인스턴스가 여러 스레드 간 액세스를 동기화하는 방법을 지정합니다.Specifies how a Lazy<T> instance synchronizes access among multiple threads.

LockRecursionPolicy

동일한 스레드에서 잠금을 여러 번 시작할 수 있는지 여부를 지정합니다.Specifies whether a lock can be entered multiple times by the same thread.

ThreadPriority

Thread의 예약 우선 순위를 지정합니다.Specifies the scheduling priority of a Thread.

ThreadState

Thread의 실행 상태를 지정합니다.Specifies the execution states of a Thread.

대리자

ContextCallback

새 컨텍스트 내에서 호출될 메서드를 나타냅니다.Represents a method to be called within a new context.

IOCompletionCallback

스레드 풀의 I/O 연산이 완료되면 오류 코드, 바이트 수 및 겹쳐진 값 형식을 받습니다.Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.

ParameterizedThreadStart

Thread에서 실행되는 메서드를 나타냅니다.Represents the method that executes on a Thread.

SendOrPostCallback

메시지가 동기화 컨텍스트로 디스패치될 때 호출할 메서드를 나타냅니다.Represents a method to be called when a message is to be dispatched to a synchronization context.

ThreadExceptionEventHandler

ApplicationThreadException 이벤트를 처리할 메서드를 나타냅니다.Represents the method that will handle the ThreadException event of an Application.

ThreadStart

Thread에서 실행되는 메서드를 나타냅니다.Represents the method that executes on a Thread.

TimerCallback

Timer의 호출을 처리하는 메서드를 나타냅니다.Represents the method that handles calls from a Timer.

WaitCallback

스레드 풀 스레드에 의해 실행될 콜백 메서드를 나타냅니다.Represents a callback method to be executed by a thread pool thread.

WaitOrTimerCallback

WaitHandle이 신호를 받거나 시간 초과될 때 호출될 메서드를 나타냅니다.Represents a method to be called when a WaitHandle is signaled or times out.