Wat is er nieuw in synchronisatie
Windows bevat de volgende nieuwe programmeerelementen voor synchronisatie.
Windows 8
Nieuwe functies
-
Hiermee verwijdert u een synchronisatiebarrière.
-
Zorgt ervoor dat de aanroepende thread bij een synchronisatiebarrière wacht totdat het maximum aantal threads de barrière heeft binnengegaan.
-
Haalt de resultaten van een overlappende bewerking op het opgegeven bestand, de benoemde pipe of het communicatieapparaat op binnen het opgegeven time-outinterval. De aanroepende thread kan een alerte wacht uitvoeren.
-
Hiermee geeft u het maximum aantal threads en aantal kringen voor een nieuwe synchronisatiebarrière.
-
Wacht tot de waarde op het opgegeven adres is gewijzigd.
-
Hiermee worden alle threads geactiveerd die wachten tot de waarde van een adres verandert.
-
Hiermee wordt één thread geactiveerd die wacht tot de waarde van een adres is gewijzigd.
Nieuwe vergrendelde functies
-
Voert een atomische optellingsbewerking uit op de opgegeven LONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische optellingsbewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische AND-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische AND-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische AND-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische AND-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Test de opgegeven bit van de opgegeven LONG64 waarde en vult deze aan. De bewerking is atomisch.
-
Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 0. De bewerking is atomisch en wordt uitgevoerd met acquisitie-geheugenordeningsemantiek.
-
Test de opgegeven bit van de opgegeven LONG waarde en stelt deze in op 0. De bewerking is atomisch en wordt uitgevoerd met behulp van semantiek voor geheugenrelease.
-
Test het opgegeven bit van de opgegeven LONG waarde en zet het op 1. De bewerking is atomisch en wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
-
Test de opgegeven bit van de opgegeven LONG waarde en zet deze op 1. De bewerking is atomair en wordt uitgevoerd met semantiek voor geheugenordening bij vrijgave.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 32-bits waarden en uitwisselingen met een andere 32-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en wisselt ze uit met een andere 16-bits waarde op basis van het vergelijkingresultaat.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en wisselt op basis van het resultaat van de vergelijking uit met een andere 16-bits waarde. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en wisselt deze om met een andere 16-bits waarde op basis van het vergelijkingsresultaat. De uitwisseling wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 16-bits waarden en wisselt deze uit met een andere 16-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 64-bits waarden en uitwisselingen met een andere 64-bits waarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven 128-bits waarden en uitwisselingen met een andere 128-bits waarde op basis van het resultaat van de vergelijking.
-
Voert een atomische vergelijkings- en uitwisselingsbewerking uit op de opgegeven waarden. De functie vergelijkt twee opgegeven aanwijzerwaarden en uitwisselingen met een andere aanwijzerwaarde op basis van het resultaat van de vergelijking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
De waarde van de opgegeven 32-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking.
-
De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het verkrijgen van geheugenvolgorde.
-
De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt uitgevoerd met semantiek voor het vrijgeven van geheugenvolgorde.
-
De waarde van de opgegeven 16-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
De waarde van de opgegeven 64-bits variabele neemt af (verlaagt met één) als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Hiermee stelt u een 64-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Hiermee stelt u een 8-bits variabele in op de opgegeven waarde als een atomische bewerking.
-
Hiermee stelt u een 16-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde.
-
Hiermee stelt u een 16-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Hiermee stelt u een 64-bits variabele in op de opgegeven waarde als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Atomisch wisselen een paar adressen uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische toevoeging van twee 32-bits waarden uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische toevoeging van twee 64-bits waarden uit. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Verhoogt (met één) de waarde van de opgegeven 32-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking.
-
Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van semantiek voor het verkrijgen van geheugenvolgorde.
-
Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt uitgevoerd met behulp van de release-geheugenorderingsemantiek.
-
Verhoogt (met één) de waarde van de opgegeven 16-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Verhoogt (met één) de waarde van de opgegeven 64-bits variabele als een atomische bewerking. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische OR-bewerking uit op de opgegeven LONG-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische OR-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische OR-bewerking uit op de opgegeven SHORT-waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische OR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voegt een singly-gekoppelde lijst toe aan de voorzijde van een andere singly-gekoppelde lijst. Toegang tot de lijsten wordt gesynchroniseerd op een multiprocessorsysteem. Deze versie van de methode maakt geen gebruik van de __fastcall aanroepconventie.
-
Voert een atomische XOR-bewerking uit op de opgegeven LONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische XOR-bewerking uit op de opgegeven teken waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische XOR-bewerking uit op de opgegeven SHORT waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
-
Voert een atomische XOR-bewerking uit op de opgegeven LONGLONG waarden. De bewerking wordt atomisch uitgevoerd, maar zonder geheugenbarrières te gebruiken.
Windows 7
Nieuwe functies
-
Hiermee activeert u de opgegeven wachttijdtimer en geeft u contextinformatie voor de timer.
-
Probeert om een slanke lezer/schrijver (SRW)-vergrendeling in exclusieve modus te verkrijgen. Als de aanroep is geslaagd, heeft de aanroepende thread het eigendom van de vergrendeling.
-
Pogingen om een slanke lezer/schrijververgrendeling (SRW) te verkrijgen in de gedeelde modus. Als de aanroep is geslaagd, heeft de aanroepende thread het eigendom van de vergrendeling.
Nieuwe structuren
-
Bevat contextinformatie voor een timer die is geactiveerd met SetWaitableTimerEx.