CallbackMayRunLong 함수(threadpoolapiset.h)
콜백이 빠르게 반환되지 않을 수 있음을 나타냅니다.
구문
BOOL CallbackMayRunLong(
[in, out] PTP_CALLBACK_INSTANCE pci
);
매개 변수
[in, out] pci
콜백 instance 정의하는 TP_CALLBACK_INSTANCE 구조체에 대한 포인터입니다. 포인터가 콜백 함수에 전달됩니다.
반환 값
스레드 풀의 다른 스레드를 콜백 처리에 사용할 수 있거나 스레드 풀이 새 스레드를 만들 수 있는 경우 함수는 TRUE를 반환합니다. 이 경우 현재 콜백 함수는 현재 스레드를 무기한으로 사용할 수 있습니다.
스레드 풀의 다른 스레드를 콜백을 처리할 수 없으며 스레드 풀이 새 스레드를 만들 수 없는 경우 함수는 FALSE를 반환합니다. 스레드 풀은 지연 후 새 스레드를 만들려고 시도하지만 현재 콜백 함수가 오래 실행되면 스레드 풀의 효율성이 손실될 수 있습니다.
설명
스레드 풀은 이 정보를 사용하여 새 스레드를 만들어야 하는 시기를 더 잘 결정할 수 있습니다.
CallbackMayRunLong 함수는 콜백을 처리하는 스레드에서만 호출해야 합니다. 다른 스레드에서 이 함수를 호출하면 경합 상태가 발생할 수 있습니다.
CallbackMayRunLong 함수는 스레드를 콜백 처리에 사용할 수 있는지 또는 스레드 풀이 새 스레드를 할당할 수 있는지 여부에 관계없이 항상 콜백을 장기 실행으로 표시합니다. 따라서 이 함수는 FALSE를 반환하더라도 한 번만 호출해야 합니다.
이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | threadpoolapiset.h(Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
참고 항목
DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns