이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

WaitHandle.SignalAndWait 메서드 (WaitHandle, WaitHandle, TimeSpan, Boolean)

 

게시 날짜: 2016년 11월

제한 시간 간격을 TimeSpan으로 지정하고 대기 상태로 들어가기 전에 컨텍스트에 대한 동기화 도메인을 종료할지 여부를 지정하여, WaitHandle 중 하나에게 알리고 다음을 기다립니다.

네임스페이스:   System.Threading
어셈블리:  mscorlib(mscorlib.dll에 있음)

public static bool SignalAndWait(
	WaitHandle toSignal,
	WaitHandle toWaitOn,
	TimeSpan timeout,
	bool exitContext
)

매개 변수

toSignal
Type: System.Threading.WaitHandle

신호를 보낼 WaitHandle입니다.

toWaitOn
Type: System.Threading.WaitHandle

대기할 WaitHandle입니다.

timeout
Type: System.TimeSpan

대기할 간격을 나타내는 TimeSpan입니다. 값이 -1이면 무기한 대기합니다.

exitContext
Type: System.Boolean

대기 전에 컨텍스트에 대한 동기화 도메인을 종료하고(동기화된 컨텍스트에 있는 경우) 이 도메인을 다시 가져오려면 true이고, 그렇지 않으면 false입니다.

반환 값

Type: System.Boolean

신호를 보내는 작업과 대기가 모두 성공적으로 완료되면 true를 반환하고, 신호는 성공적으로 보냈으나 대기가 시간 초과되었으면 false를 반환합니다.

Exception Condition
ArgumentNullException

toSignalnull인 경우

또는

toWaitOnnull인 경우

NotSupportedException

스레드에서 메서드가 호출 된 STAThreadAttribute합니다.

PlatformNotSupportedException

이 메서드는 Windows 98 또는 Windows Millennium Edition에서 지원 되지 않습니다.

InvalidOperationException

toSignal 세마포를 이며 이미 전체 개수를 계산 합니다.

ArgumentOutOfRangeException

timeout 값이 음수 이면-1이 아닌 시간 (밀리초)으로 계산 됩니다.

또는

timeoutInt32.MaxValue보다 큰 경우

AbandonedMutexException

스레드가 뮤텍스를 해제 하지 않고 종료 되었기 때문에 완료 하 고 대기 합니다. Windows 98 또는 Windows Millennium Edition에는이 예외가 throw 되지 않습니다.

이 작업은 원자성을 보장 되지 않습니다. 현재 스레드 신호 후 toSignal 대기 하기 전에 toWaitOn, 스레드가 다른 프로세서에서 실행 되는 지 알려 toWaitOn 대기 또는 합니다.

에 대 한 최대값 timeoutInt32.MaxValue합니다.

경우 timeout 값이 0이 메서드는 차단 되지 않습니다. 상태를 테스트는 toWaitOn 를 즉시 반환 합니다.

exitContext 매개 변수 효과가 SignalAndWait 기본이 아닌 관리 되는 컨텍스트 내에서 메서드를 호출 합니다. 파생 된 클래스의 인스턴스에 대 한 호출 안에 스레드에 있으면 이러한 ContextBoundObject합니다. 파생 되지 않은 클래스에 메서드를 현재 실행 중인 경우에 ContextBoundObject, 과 같이 String, 기본 디렉터리가 아닌 다른 컨텍스트에서 수 하는 경우는 ContextBoundObject 가 현재 응용 프로그램 도메인에서 스택에 합니다.

사용자 코드가 기본 디렉터리가 아닌 다른 컨텍스트에서 실행 되는 경우를 지정 하 true 에 대 한 exitContext 스레드가 기본이 아닌 관리 되는 컨텍스트를 종료 합니다 (즉, 기본 컨텍스트로 전환)를 실행 하기 전에 SignalAndWait 메서드. 스레드 호출 후 원래 컨텍스트로 돌아갑니다는 SignalAndWait 메서드를 완료 합니다.

컨텍스트 바인딩 클래스에 유용할 수 있음 SynchronizationAttribute합니다. 이 경우 클래스의 멤버에 대 한 모든 호출 동기화 자동으로 되 고 동기화 도메인 클래스에 대 한 코드의 전체 본문입니다. 호출 스택에 있는 멤버의 코드를 호출 하는 경우는 SignalAndWait 메서드를 지정 하 고 true 에 대 한 exitContext, 스레드가 종료 되는 동기화 도메인을 계속 하려면 개체의 모든 멤버에 대 한 호출에서 차단 된 스레드가 될 수 있도록 합니다. 경우는 SignalAndWait 동기화 도메인을 다시 입력 하는 호출한 스레드가 기다려야 메서드가 반환 합니다.

.NET Framework
2.0 이후 사용 가능
맨 위로 이동
표시: