进程和线程中的新增功能

Windows 7 和 Windows Server 2008 R2 包括进程和线程的以下新编程元素。

新功能

64 位版本的 Windows 7 和 Windows Server 2008 R2 在单个计算机上支持超过 64 个逻辑处理器。 有关详细信息,请参阅 处理器组

用户模式计划 (UMS) 是一种轻型机制,应用程序可以使用该机制来计划自己的线程。 有关详细信息,请参阅 用户模式计划

新函数

以下新函数用于处理器和处理器组。

函数 说明
CreateRemoteThreadEx
创建一个线程,该线程在另一个进程的虚拟地址空间中运行,并选择性地指定扩展属性,例如处理器组相关性。
GetActiveProcessorCount
返回处理器组或系统中的活动处理器数。
GetActiveProcessorGroupCount
返回系统中活动处理器组的数目。
GetCurrentProcessorNumberEx
检索运行调用线程的处理器组和逻辑处理器编号。
GetLogicalProcessorInformationEx
检索有关逻辑处理器和相关硬件关系的信息。
GetMaximumProcessorCount
返回处理器组或系统可以具有的最大逻辑处理器数。
GetMaximumProcessorGroupCount
返回系统可以具有的最大处理器组数。
GetNumaAvailableMemoryNodeEx
检索指定节点中可用内存量作为 USHORT 值。
GetNumaNodeNumberFromHandle
检索与基础设备关联的 NUMA 节点,以获取文件句柄。
GetNumaNodeProcessorMaskEx
检索指定 NUMA 节点的处理器掩码作为 USHORT 值。
GetNumaProcessorNodeEx
检索指定逻辑处理器的节点号作为 USHORT 值。
GetNumaProximityNodeEx
检索节点号作为指定邻近感应标识符的 USHORT 值。
GetProcessGroupAffinity
检索指定进程的处理器组相关性。
GetProcessorSystemCycleTime
检索指定组中每个处理器执行延迟过程调用的周期时间, (DPC) 和中断服务例程 (ISR) 。
GetThreadGroupAffinity
检索指定线程的处理器组相关性。
GetThreadIdealProcessorEx
检索指定线程的理想处理器的处理器编号。
QueryIdleProcessorCycleTimeEx
检索指定处理器组中每个逻辑处理器上的空闲线程的累积周期时间。
SetThreadGroupAffinity
设置指定线程的处理器组相关性。
SetThreadIdealProcessorEx
设置指定线程的理想处理器,并选择性地检索上一个理想处理器。

 

以下新函数用于线程池。

函数 说明
QueryThreadpoolStackInformation
检索指定线程池中线程的堆栈保留和提交大小。
SetThreadpoolCallbackPersistent
指定回调应在持久线程上运行。
SetThreadpoolCallbackPriority
指定回调函数相对于同一线程池中其他工作项的优先级。
SetThreadpoolStackInformation
设置指定线程池中新线程的堆栈保留和提交大小。

 

以下新函数与 UMS 一起使用。

函数 说明
CreateUmsCompletionList
创建 UMS 完成列表。
CreateUmsThreadContext
创建一个 UMS 线程上下文来表示 UMS 工作线程。
DeleteUmsCompletionList
删除指定的 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 计划程序线程的控制。

 

新结构

结构 说明
CACHE_RELATIONSHIP
描述缓存属性。
GROUP_AFFINITY
包含特定于处理器组的相关性,例如线程的相关性。
GROUP_RELATIONSHIP
包含有关处理器组的信息。
NUMA_NODE_RELATIONSHIP
包含有关处理器组中 NUMA 节点的信息。
PROCESSOR_GROUP_INFO
包含处理器组中处理器的数量和相关性。
PROCESSOR_NUMBER
表示处理器组中的逻辑处理器。
PROCESSOR_RELATIONSHIP
包含有关处理器组内相关性的信息。
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
包含有关逻辑处理器和相关硬件关系的信息。
UMS_CREATE_THREAD_ATTRIBUTES
指定 UMS 工作线程的属性。
UMS_SCHEDULER_STARTUP_INFO
指定 UMS 计划程序线程的属性