Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Windows 7 и Windows Server 2008 R2 включают следующие новые элементы программирования для процессов и потоков.
Новые возможности
64-разрядные версии Windows 7 и Windows Server 2008 R2 поддерживают более 64 логических процессоров на одном компьютере. Дополнительные сведения см. в группах обработчиков .
Планирование в пользовательском режиме (UMS) — это упрощенный механизм, который приложения могут использовать для планирования собственных потоков. Дополнительные сведения см. в User-Mode планировании.
Новые функции
Следующие новые функции используются с процессорами и группами процессоров.
| Функция | Описание |
|---|---|
|
CreateRemoteThreadEx |
Создает поток, который выполняется в виртуальном адресном пространстве другого процесса и при необходимости задает расширенные атрибуты, такие как сходство групп обработчиков. |
|
GetActiveProcessorCount |
Возвращает количество активных процессоров в группе процессоров или в системе. |
|
GetActiveProcessorGroupCount |
Возвращает количество активных групп обработчиков в системе. |
|
GetCurrentProcessorNumberEx |
Извлекает группу процессоров и номер логического процессора, в котором выполняется вызывающий поток. |
|
GetLogicalProcessorInformationEx |
Извлекает сведения о связях логических процессоров и связанного оборудования. |
|
GetMaximumProcessorCount |
Возвращает максимальное количество логических процессоров, которые может иметь группа процессоров или система. |
|
GetMaximumProcessorGroupCount |
Возвращает максимальное количество групп процессоров, которые может иметь система. |
|
GetNumaAvailableMemoryNodeEx |
Извлекает объем памяти, доступный в указанном узле в виде значения USHORT. |
|
GetNumaNodeNumberFromHandle |
Извлекает узел NUMA, связанный с базовым устройством для дескриптора файлов. |
|
GetNumaNodeProcessorMaskEx |
Извлекает маску процессора для указанного узла NUMA в качестве значения USHORT. |
|
GetNumaProcessorNodeEx |
Извлекает номер узла указанного логического процессора в качестве значения USHORT. |
|
GetNumaProximityNodeEx |
Извлекает номер узла в качестве значения USHORT для указанного идентификатора близости. |
|
GetProcessGroupAffinity |
Извлекает сходство группы обработчиков указанного процесса. |
|
GetProcessorSystemCycleTime |
Извлекает время цикла каждого процессора в указанной группе, затраченное на выполнение отложенных вызовов процедур (DPCs) и подпрограмм служб прерывания (ISR). |
|
GetThreadGroupAffinity |
Извлекает сходство группы обработчиков указанного потока. |
|
GetThreadIdealProcessorEx |
Извлекает номер идеального процессора для указанного потока. |
|
QueryIdleProcessorCycleTimeEx |
Извлекает накопленное время бездействия потока для каждого логического процессора в указанной группе процессоров. |
|
SetThreadGroupAffinity |
Задает привязку группы процессоров для указанного потока. |
|
SetThreadIdealProcessorEx |
Задает идеальный процессор для указанного потока и при необходимости извлекает предыдущий идеальный процессор. |
Следующие новые функции используются с пулами потоков.
| Функция | Описание |
|---|---|
|
QueryThreadpoolStackInformation |
Извлекает резервные и фиксированные размеры стека для потоков в указанном пуле потоков. |
|
SetThreadpoolCallbackPersistent |
Указывает, что обратный вызов должен выполняться в постоянном потоке. |
|
SetThreadpoolCallbackPriority |
Указывает приоритет функции обратного вызова относительно других рабочих элементов в том же пуле потоков. |
|
SetThreadpoolStackInformation |
Задает размер резерва стека и фиксации новых потоков в указанном пуле потоков. |
Следующие новые функции используются с UMS.
| Функция | Описание |
|---|---|
|
CreateUmsCompletionList |
Создает список завершенных задач UMS. |
|
CreateUmsThreadContext |
Создает контекст потока UMS для представления рабочего потока UMS. |
|
УдалитьUmsCompletionList |
Удаляет указанный список завершения UMS. Список должен быть пустым. |
|
DeleteUmsThreadContext |
Удаляет указанный контекст потока UMS. Поток должен быть завершен. |
|
DequeueUmsCompletionListItems |
Извлекает рабочие потоки UMS из указанного списка завершения UMS. |
|
EnterUmsSchedulingMode |
Преобразует вызывающий поток в поток планировщика UMS. |
|
ExecuteUmsThread |
Запускает указанный рабочий поток UMS. |
|
GetCurrentUmsThread |
Возвращает контекст потока UMS вызываемого потока UMS. |
|
GetNextUmsListItem |
Возвращает следующий контекст потока UMS в списке контекстов потоков UMS. |
|
GetUmsCompletionListEvent |
Извлекает дескриптор события, связанного с указанным списком завершения UMS. |
|
QueryUmsThreadInformation |
Извлекает сведения о заданном рабочем потоке UMS. |
|
SetUmsThreadInformation |
Задает сведения о контексте для конкретного приложения для указанного рабочего потока UMS. |
|
UmsSchedulerProc |
Входная функция планировщика UMS, определяемая приложением и связанная со списком завершения UMS. |
|
UmsThreadYield |
Возвращает управление потоком планировщика UMS, в котором выполняется вызывающий рабочий поток UMS. |
Новые структуры
| Структура | Описание |
|---|---|
|
КЭШ_ОТНОШЕНИЕ |
Описывает атрибуты кэша. |
|
GROUP_AFFINITY |
Содержит специфическую для группы процессоров привязку, например, привязку потока. |
|
GROUP_RELATIONSHIP |
Содержит сведения о группах обработчиков. |
|
NUMA_NODE_RELATIONSHIP |
Содержит сведения о узле NUMA в группе обработчиков. |
|
ИНФОРМАЦИЯ_О_ГРУППЕ_ПРОЦЕССОРА |
Содержит число и сходство процессоров в группе процессоров. |
|
PROCESSOR_NUMBER |
Представляет логический процессор в группе процессоров. |
|
ОТНОШЕНИЕ_ПРОЦЕССОРА |
Содержит сведения о сходстве в группе обработчиков. |
|
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX |
Содержит сведения о связях логических процессоров и связанного оборудования. |
|
UMS_CREATE_THREAD_ATTRIBUTES |
Задает атрибуты для рабочего потока UMS. |
|
UMS_SCHEDULER_STARTUP_INFO |
Указывает атрибуты для потока планировщика UMS |