进程和线程中的新增功能
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 计划程序线程的属性 |