MSDN Library
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

ThreadPool.RegisterWaitForSingleObject 메서드 (WaitHandle, WaitOrTimerCallback, Object, Int64, Boolean)

2013-12-13

제한 시간(밀리초)에 부호 있는 64비트 정수를 지정하여 WaitHandle을 기다리는 대리자를 등록합니다.

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

public static RegisteredWaitHandle RegisterWaitForSingleObject(
	WaitHandle waitObject,
	WaitOrTimerCallback callBack,
	Object state,
	long millisecondsTimeOutInterval,
	bool executeOnlyOnce
)

매개 변수

waitObject
형식: System.Threading.WaitHandle
등록할 대기 핸들입니다.
callBack
형식: System.Threading.WaitOrTimerCallback
waitObject 매개 변수가 신호를 받으면 호출할 대리자입니다.
state
형식: System.Object
대리자에 전달된 개체입니다.
millisecondsTimeOutInterval
형식: System.Int64
제한 시간(밀리초)입니다. millisecondsTimeOutInterval 매개 변수가 0이면 해당 함수에서 개체의 상태를 테스트한 다음 즉시 반환합니다. millisecondsTimeOutInterval이 -1이면 해당 함수의 시간 제한 간격이 경과하지 않습니다.
executeOnlyOnce
형식: System.Boolean
는 대리자를 호출한 후 스레드가 waitObject 매개 변수를 더 이상 기다리지 않음을 나타내려면 true이고, 대기 작업이 완료될 때마다 대기 작업 등록이 해제될 때까지 타이머가 다시 설정됨을 나타내려면 false입니다.

반환 값

형식: System.Threading.RegisteredWaitHandle
등록된 대기 핸들입니다.

예외조건
ArgumentOutOfRangeException

millisecondsTimeOutInterval 매개 변수가 -1보다 작은 경우

이 메서드를 통해 반환되는 RegisteredWaitHandle을 사용하여 종료하는 경우 해당 RegisteredWaitHandle.Unregister 메서드를 호출하여 대기 핸들에 대한 참조를 해제합니다. executeOnlyOncetrue를 지정하는 경우에도 항상 RegisteredWaitHandle.Unregister 메서드를 호출하는 것이 좋습니다. 등록된 대기 핸들의 종료자를 사용하는 대신 RegisteredWaitHandle.Unregister 메서드를 호출하면 가비지 수집이 더 효율적으로 작동합니다.

RegisterWaitForSingleObject 메서드는 지정된 대리자를 스레드 풀의 큐에 대기시킵니다. 작업자 스레드는 다음 중 하나가 발생하면 대리자를 실행합니다.

  • 지정된 개체가 신호를 받은 상태인 경우

  • 시간 제한 간격이 경과한 경우

RegisterWaitForSingleObject 메서드는 지정된 개체 WaitHandle의 현재 상태를 확인합니다. 개체의 상태가 신호 없음인 경우 메서드가 대기 작업을 등록합니다. 대기 작업은 스레드 풀에 있는 스레드에서 수행합니다. 개체가 신호 받음 또는 시간 제한 간격 경과 상태가 되면 작업자 스레드에서 대리자를 실행합니다. timeOutInterval 매개 변수가 0이 아니고 executeOnlyOnce 매개 변수가 false이면 이벤트가 신호를 받거나 시간 제한 간격이 경과할 때마다 타이머가 다시 설정됩니다.

대기 작업을 취소하려면 RegisteredWaitHandle.Unregister 메서드를 호출합니다.

반환하기 전에 해당 메서드에서 일부 동기화 개체 형식의 상태를 변경합니다. 신호를 받은 상태로 대기 조건을 충족시킨 개체만 변경됩니다.

버전 메모

Windows Phone

사용자가 Windows Phone 응용프로그램 외부로 이동하면 응용프로그램은 일반적으로 유휴 상태가 됩니다. 사용자가 유휴 응용프로그램으로 돌아가면 응용프로그램은 자동으로 다시 시작됩니다. 이 API가 사용되는 동안 응용프로그램이 유휴 상태가 되면 API는 예상대로 완료되지 않습니다. 응용프로그램은 이 가능성을 처리하도록 디자인되어야 합니다. Windows Phone 실행 모델에 대한 자세한 내용은 Windows Phone의 실행 모델을 참조하세요.

Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시:
© 2016 Microsoft