내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

SemaphoreSlim 클래스

2013-12-13

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

System.Object
  System.Threading.SemaphoreSlim

Namespace:  System.Threading
어셈블리:  mscorlib(mscorlib.dll)

‘선언
Public Class SemaphoreSlim _
	Implements IDisposable

SemaphoreSlim 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드SemaphoreSlim(Int32)동시에 부여할 수 있는 초기 요청 수를 지정하여 SemaphoreSlim 클래스의 새 인스턴스를 초기화합니다.
Public 메서드SemaphoreSlim(Int32, Int32)동시에 부여할 수 있는 초기 및 최대 요청 수를 지정하여 SemaphoreSlim 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 속성AvailableWaitHandle세마포에서 대기하는 데 사용할 수 있는 WaitHandle을 반환합니다.
Public 속성CurrentCountSemaphoreSlim에 진입할 수 있도록 허용할 스레드 수를 가져옵니다.
맨 위

  이름설명
Public 메서드DisposeSemaphoreSlim 클래스의 현재 인스턴스에서 사용하는 모든 리소스를 해제합니다.
Protected 메서드Dispose(Boolean)ManualResetEventSlim에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제합니다.
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ReleaseSemaphoreSlim을 한 번 종료합니다.
Public 메서드Release(Int32)SemaphoreSlim을 지정된 횟수만큼 종료합니다.
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드Wait현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드Wait(CancellationToken)CancellationToken을 확인하면서 현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드Wait(Int32)시간 제한을 지정하는 부호 있는 32비트 정수를 사용하여 현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드Wait(TimeSpan)TimeSpan으로 시간 제한을 지정하여 현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드Wait(Int32, CancellationToken)CancellationToken을 확인하면서 시간 제한을 지정하는 부호 있는 32비트 정수를 사용하여 현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드Wait(TimeSpan, CancellationToken)CancellationToken을 확인하면서 시간 제한을 지정하는 TimeSpan을 사용하여 현재 스레드가 SemaphoreSlim에 진입할 수 있을 때까지 스레드를 차단합니다.
Public 메서드WaitAsyncSemaphoreSlim을 시작하기 위해 비동기적으로 대기합니다.
Public 메서드WaitAsync(CancellationToken)CancellationToken을 관찰하는 동안 SemaphoreSlim이 시작하기를 비동기적으로 대기합니다.
Public 메서드WaitAsync(Int32)부호 있는 32비트 정수로 시간 간격을 측정하여 SemaphoreSlim을 시작하기를 비동기적으로 대기합니다.
Public 메서드WaitAsync(TimeSpan)TimeSpan으로 시간 간격을 측정하여 SemaphoreSlim을 시작하기를 비동기적으로 대기합니다.
Public 메서드WaitAsync(Int32, CancellationToken)CancellationToken을 관찰하면서 부호 있는 32비트 정수로 시간 간격을 측정하여 SemaphoreSlim을 시작하기를 비동기적으로 대기합니다.
Public 메서드WaitAsync(TimeSpan, CancellationToken)CancellationToken를 관찰하면서 TimeSpan으로 시간 간격을 측정하여 SemaphoreSlim을 시작하기를 비동기적으로 대기합니다.
맨 위

SemaphoreSlim은 Windows 커널 세마포를 사용하지 않는 간단한 세마포 클래스를 제공합니다.

다음 예제에서는 SemaphoreSlim을 사용하는 방법을 보여 줍니다.

Windows Phone OS

지원되는 버전: 8.0

SemaphoreSlim의 모든 공용 및 보호된 멤버는 스레드로부터 안전하며 SemaphoreSlim의 다른 모든 작업이 완료될 때만 사용해야 하는 Dispose를 제외하고 멀티 스레드에서 동시에 사용할 수 있습니다.

표시:
© 2014 Microsoft