進程和執行緒的新功能
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 |
擷取指定群組中每個處理器執行延後程序呼叫的週期時間, () 和插斷服務常式 (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 排程器執行緒產生控制權。 |
新結構
結構 | Description |
---|---|
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 排程器執行緒的屬性 |