Neuerungen in Prozessen und Threads
Windows 7 und Windows Server 2008 R2 enthalten die folgenden neuen Programmierelemente für Prozesse und Threads.
Neue Funktionen
Die 64-Bit-Versionen von Windows 7 und Windows Server 2008 R2 unterstützen mehr als 64 logische Prozessoren auf einem einzelnen Computer. Weitere Informationen finden Sie unter Prozessorgruppen.
Ums (User Mode Scheduling) ist ein einfacher Mechanismus, mit dem Anwendungen ihre eigenen Threads planen können. Weitere Informationen finden Sie unter Benutzermodusplanung.
Neue Funktionen
Die folgenden neuen Funktionen werden mit Prozessoren und Prozessorgruppen verwendet.
Funktion | BESCHREIBUNG |
---|---|
CreateRemoteThreadEx |
Erstellt einen Thread, der im virtuellen Adressraum eines anderen Prozesses ausgeführt wird, und gibt optional erweiterte Attribute an, z. B. Prozessorgruppenaffinität. |
GetActiveProcessorCount |
Gibt die Anzahl der aktiven Prozessoren in einer Prozessorgruppe oder im System zurück. |
GetActiveProcessorGroupCount |
Gibt die Anzahl der aktiven Prozessorgruppen im System zurück. |
GetCurrentProcessorNumberEx |
Ruft die Prozessorgruppe und die Nummer des logischen Prozessors ab, in dem der aufrufende Thread ausgeführt wird. |
GetLogicalProcessorInformationEx |
Ruft Informationen zu den Beziehungen von logischen Prozessoren und zugehöriger Hardware ab. |
GetMaximumProcessorCount |
Gibt die maximale Anzahl logischer Prozessoren zurück, über die eine Prozessorgruppe oder das System verfügen kann. |
GetMaximumProcessorGroupCount |
Gibt die maximale Anzahl von Prozessorgruppen zurück, die das System haben kann. |
GetNumaAvailableMemoryNodeEx |
Ruft die Menge an Arbeitsspeicher ab, die im angegebenen Knoten als USHORT-Wert verfügbar ist. |
GetNumaNodeNumberFromHandle |
Ruft den NUMA-Knoten ab, der dem zugrunde liegenden Gerät für ein Dateihandle zugeordnet ist. |
GetNumaNodeProcessorMaskEx |
Ruft die Prozessormaske für den angegebenen NUMA-Knoten als USHORT-Wert ab. |
GetNumaProcessorNodeEx |
Ruft die Knotennummer des angegebenen logischen Prozessors als USHORT-Wert ab. |
GetNumaProximityNodeEx |
Ruft die Knotennummer als USHORT-Wert für den angegebenen Näherungsbezeichner ab. |
GetProcessGroupAffinity |
Ruft die Prozessorgruppenaffinität des angegebenen Prozesses ab. |
GetProcessorSystemCycleTime |
Ruft die Zykluszeit ab, die jeder Prozessor in der angegebenen Gruppe für die Ausführung verzögerter Prozeduraufrufe (DpCs) und Interruptdienstroutinen (ISRs) aufgewendet hat. |
GetThreadGroupAffinity |
Ruft die Prozessorgruppenaffinität des angegebenen Threads ab. |
GetThreadIdealProcessorEx |
Ruft die Prozessornummer des idealen Prozessors für den angegebenen Thread ab. |
QueryIdleProcessorCycleTimeEx |
Ruft die akkumulierte Zykluszeit für den Thread im Leerlauf auf jedem logischen Prozessor in der angegebenen Prozessorgruppe ab. |
SetThreadGroupAffinity |
Legt die Prozessorgruppenaffinität für den angegebenen Thread fest. |
SetThreadIdealProcessorEx |
Legt den idealen Prozessor für den angegebenen Thread fest und ruft optional den vorherigen idealen Prozessor ab. |
Die folgenden neuen Funktionen werden mit Threadpools verwendet.
Funktion | BESCHREIBUNG |
---|---|
QueryThreadpoolStackInformation |
Ruft die Stapelreserve- und Commitgrößen für Threads im angegebenen Threadpool ab. |
SetThreadpoolCallbackPersistent |
Gibt an, dass der Rückruf in einem persistenten Thread ausgeführt werden soll. |
SetThreadpoolCallbackPriority |
Gibt die Priorität einer Rückruffunktion relativ zu anderen Arbeitselementen im selben Threadpool an. |
SetThreadpoolStackInformation |
Legt die Stapelreserve- und Commitgrößen für neue Threads im angegebenen Threadpool fest. |
Die folgenden neuen Funktionen werden mit UMS verwendet.
Funktion | BESCHREIBUNG |
---|---|
CreateUmsCompletionList |
Erstellt eine UMS-Vervollständigungsliste. |
CreateUmsThreadContext |
Erstellt einen UMS-Threadkontext, der einen UMS-Workerthread darstellt. |
DeleteUmsCompletionList |
Löscht die angegebene UMS-Vervollständigungsliste. Die Liste muss leer sein. |
DeleteUmsThreadContext |
Löscht den angegebenen UMS-Threadkontext. Der Thread muss beendet werden. |
DequeueUmsCompletionListItems |
Ruft UMS-Arbeitsthreads aus der angegebenen UMS-Vervollständigungsliste ab. |
EnterUmsSchedulingMode |
Konvertiert den aufrufenden Thread in einen UMS-Planerthread. |
ExecuteUmsThread |
Führt den angegebenen UMS-Workerthread aus. |
GetCurrentUmsThread |
Gibt den UMS-Threadkontext des aufrufenden UMS-Threads zurück. |
GetNextUmsListItem |
Gibt den nächsten UMS-Threadkontext in einer Liste von UMS-Threadkontexten zurück. |
GetUmsCompletionListEvent |
Ruft ein Handle für das Ereignis ab, das der angegebenen UMS-Vervollständigungsliste zugeordnet ist. |
QueryUmsThreadInformation |
Ruft Informationen zum angegebenen UMS-Workerthread ab. |
SetUmsThreadInformation |
Legt anwendungsspezifische Kontextinformationen für den angegebenen UMS-Workerthread fest. |
UmsSchedulerProc |
Die anwendungsdefinierte UMS-Scheduler-Einstiegspunktfunktion, die einer UMS-Vervollständigungsliste zugeordnet ist. |
UmsThreadYield |
Gibt die Steuerung an den UMS-Planerthread aus, auf dem der aufrufende UMS-Workerthread ausgeführt wird. |
Neue Strukturen
Struktur | BESCHREIBUNG |
---|---|
CACHE_RELATIONSHIP |
Beschreibt Cacheattribute. |
GROUP_AFFINITY |
Enthält eine prozessorgruppenspezifische Affinität, z. B. die Affinität eines Threads. |
GROUP_RELATIONSHIP |
Enthält Informationen zu Prozessorgruppen. |
NUMA_NODE_RELATIONSHIP |
Enthält Informationen zu einem NUMA-Knoten in einer Prozessorgruppe. |
PROCESSOR_GROUP_INFO |
Enthält die Anzahl und Affinität von Prozessoren in einer Prozessorgruppe. |
PROCESSOR_NUMBER |
Stellt einen logischen Prozessor in einer Prozessorgruppe dar. |
PROCESSOR_RELATIONSHIP |
Enthält Informationen zur Affinität innerhalb einer Prozessorgruppe. |
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX |
Enthält Informationen zu den Beziehungen von logischen Prozessoren und zugehöriger Hardware. |
UMS_CREATE_THREAD_ATTRIBUTES |
Gibt Attribute für einen UMS-Workerthread an. |
UMS_SCHEDULER_STARTUP_INFO |
Gibt Attribute für einen UMS-Planerthread an. |