Delen via


Wat Is Nieuw in Processen en Threads

Windows 7 en Windows Server 2008 R2 bevatten de volgende nieuwe programmeerelementen voor processen en threads.

Nieuwe mogelijkheden

De 64-bits versies van Windows 7 en Windows Server 2008 R2 ondersteunen meer dan 64 logische processors op één computer. Zie processorgroepenvoor meer informatie.

UMS (User Mode Scheduling) is een lichtgewicht mechanisme dat toepassingen kunnen gebruiken om hun eigen threads te plannen. Zie User-Mode Planningvoor meer informatie.

Nieuwe functies

De volgende nieuwe functies worden gebruikt met processors en processorgroepen.

Functie Beschrijving
CreateRemoteThreadEx
Hiermee maakt u een thread die wordt uitgevoerd in de virtuele adresruimte van een ander proces en geeft u desgewenst uitgebreide kenmerken op, zoals affiniteit met processorgroepen.
GetActiveProcessorCount
Retourneert het aantal actieve processors in een processorgroep of in het systeem.
GetActiveProcessorGroupCount
Retourneert het aantal actieve processorgroepen in het systeem.
GetCurrentProcessorNumberEx
Haalt de processorgroep en het nummer van de logische processor op waarin de aanroepende thread wordt uitgevoerd.
GetLogicalProcessorInformationEx
Haalt informatie op over de relaties van logische processors en gerelateerde hardware.
GetMaximumProcessorCount
Retourneert het maximum aantal logische processors dat een processorgroep of het systeem kan hebben.
GetMaximumProcessorGroupCount
Retourneert het maximum aantal processorgroepen dat het systeem kan hebben.
GetNumaAvailableMemoryNodeEx
Haalt de hoeveelheid geheugen op die beschikbaar is in het opgegeven knooppunt als USHORT-waarde.
GetNumaNodeNumberFromHandle
Hiermee wordt het NUMA-knooppunt opgehaald dat is gekoppeld aan het onderliggende apparaat voor een bestandsingang.
GetNumaNodeProcessorMaskEx
Haalt het processormasker voor het opgegeven NUMA-knooppunt op als een USHORT-waarde.
GetNumaProcessorNodeEx
Haalt het knooppuntnummer van de opgegeven logische processor op als een USHORT-waarde.
GetNumaProximityNodeEx
Haalt het knooppuntnummer op als een USHORT-waarde voor de opgegeven nabijheids-id.
GetProcessGroupAffinity
Hiermee wordt de affiniteit van de processorgroep van het opgegeven proces opgehaald.
GetProcessorSystemCycleTime
Haalt de cyclustijd op die elke processor in de opgegeven groep heeft besteed aan het uitvoeren van uitgestelde procedureaanroepen (DPC's) en onderbreekt serviceroutines (ISR's).
GetThreadGroupAffinity
Hiermee wordt de affiniteit van de processorgroep van de opgegeven thread opgehaald.
GetThreadIdealProcessorEx
Haalt het processornummer op van de ideale processor voor de opgegeven thread.
QueryIdleProcessorCycleTimeEx-
Haalt de geaccumuleerde cyclustijd voor de niet-actieve thread op elke logische processor in de opgegeven processorgroep op.
SetThreadGroupAffinity
Hiermee stelt u de affiniteit van de processorgroep voor de opgegeven thread in.
SetThreadIdealProcessorEx
Hiermee stelt u de ideale processor in voor de opgegeven thread en haalt u eventueel de vorige ideale processor op.

 

De volgende nieuwe functies worden gebruikt met thread-pools.

Functie Beschrijving
QueryThreadpoolStackInformation
Haalt de stackreserve- en doorvoergrootten voor threads in de opgegeven threadpool op.
SetThreadpoolCallbackPersistent
Hiermee geeft u op dat de callback moet worden uitgevoerd op een permanente thread.
SetThreadpoolCallbackPriority
Hiermee geeft u de prioriteit van een callback-functie ten opzichte van andere werkitems in dezelfde threadgroep.
SetThreadpoolStackInformation-
Hiermee stelt u de reserve- en commitgrootten van de stack voor nieuwe threads in de opgegeven threadpool vast.

 

De volgende nieuwe functies worden gebruikt met UMS.

Functie Beschrijving
CreateUmsCompletionList
Hiermee maakt u een UMS-voltooiingslijst.
CreateUmsThreadContext
Hiermee maakt u een UMS-threadcontext die een UMS-werkthread vertegenwoordigt.
DeleteUmsCompletionList
Verwijder de opgegeven UMS-voltooiingslijst. De lijst moet leeg zijn.
DeleteUmsThreadContext
De opgegeven UMS-threadcontext wordt verwijderd. De thread moet worden beëindigd.
DequeueUmsCompletionListItems
Haalt UMS-werkthreads op uit de opgegeven UMS-voltooiingslijst.
EnterUmsSchedulingMode
Converteert de aanroepende thread naar een UMS-scheduler-thread.
ExecuteUmsThread
Hiermee wordt de opgegeven UMS-werkthread uitgevoerd.
GetCurrentUmsThread
Retourneert de UMS-threadcontext van de aanroepende UMS-thread.
GetNextUmsListItem
Retourneert de volgende UMS-threadcontext in een lijst met UMS-threadcontexten.
GetUmsCompletionListEvent
Hiermee wordt een verwijzing opgehaald voor de gebeurtenis die is gekoppeld aan de opgegeven UMS-voltooiingslijst.
QueryUmsThreadInformation
Haalt informatie op over de opgegeven UMS-werknemer-thread.
SetUmsThreadInformation
Hiermee stelt u toepassingsspecifieke contextinformatie in voor de opgegeven UMS-werkthread.
UmsSchedulerProc
De door de toepassing gedefinieerde UMS scheduler-invoerpuntfunctie die is gekoppeld aan een UMS-voltooiingslijst.
UmsThreadYield
Geeft de controle over de UMS-scheduler-thread waarop de aanroepende UMS-werkthread wordt uitgevoerd.

 

Nieuwe structuren

Structuur Beschrijving
CACHE_RELATIONSHIP
Beschrijft cachekenmerken.
GROUP_AFFINITY
Bevat een processorgroepspecifieke affiniteit, zoals de affiniteit van een thread.
GROEPSRELATIE
Bevat informatie over processorgroepen.
NUMA_NODE_RELATIONSHIP
Bevat informatie over een NUMA-knooppunt in een processorgroep.
PROCESSOR_GROUP_INFO
Bevat het aantal en de affiniteit van processors in een processorgroep.
PROCESSOR_NUMBER
Vertegenwoordigt een logische processor in een processorgroep.
PROCESSOR-RELATIE
Bevat informatie over affiniteit binnen een processorgroep.
SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
Bevat informatie over de relaties van logische processors en gerelateerde hardware.
UMS_CREATE_THREAD_ATTRIBUTES
Hiermee geeft u kenmerken voor een UMS-werkthread.
UMS_SCHEDULER_STARTUP_INFO
Hiermee geeft u kenmerken voor een UMS-scheduler-thread