Функция CreateThreadpool (threadpoolapiset.h)
Выделяет новый пул потоков для выполнения обратных вызовов.
Синтаксис
PTP_POOL CreateThreadpool(
PVOID reserved
);
Параметры
reserved
Этот параметр зарезервирован и должен иметь значение NULL.
Возвращаемое значение
Если функция выполняется успешно, она возвращает указатель на структуру TP_POOL , представляющую только что выделенный пул потоков. Приложения не изменяют члены этой структуры.
Если функция завершается сбоем, она возвращает значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
После создания пула потоков необходимо вызвать Метод SetThreadpoolThreadMaximum , чтобы указать максимальное число потоков, которые пул может выделить, и SetThreadpoolThreadMinimum , чтобы указать минимальное количество потоков, доступных в пуле.
Чтобы использовать пул, необходимо связать пул со средой обратного вызова. Чтобы создать среду обратного вызова, вызовите Метод InitializeThreadpoolEnvironment. Затем вызовите Метод SetThreadpoolCallbackPool , чтобы связать пул со средой обратного вызова.
Чтобы освободить пул потоков, вызовите CloseThreadpool.
Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или выше.
Примеры
Пример см. в разделе Использование функций пула потоков.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | threadpoolapiset.h (включая Windows.h в Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |