다음을 통해 공유


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

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

SetThreadpoolCallbackRunsLong

스레드 풀

TrySubmitThreadpoolCallback