Fonction InterlockedXor (winnt.h)
Effectue une opération XOR atomique sur les valeurs LONG spécifiées. La fonction empêche plusieurs threads d’utiliser la même variable simultanément.
Syntaxe
LONG InterlockedXor(
[in, out] LONG volatile *Destination,
[in] LONG Value
);
Paramètres
[in, out] Destination
Pointeur vers le premier opérande. Cette valeur sera remplacée par le résultat de l’opération.
[in] Value
Deuxième opérande.
Valeur retournée
La fonction retourne la valeur d’origine du paramètre Destination .
Remarques
Les fonctions verrouillées fournissent un mécanisme simple pour synchroniser l’accès à une variable partagée par plusieurs threads. Cette fonction est atomique par rapport aux appels à d’autres fonctions verrouillées.
Pour les systèmes Intel Itanium et les architectures x64, cette fonction est implémentée à l’aide de l’intrinsèque du compilateur. Pour l’architecture x86, utilisez directement l’intrinsèque du compilateur _InterlockedXor .
Cette fonction génère une barrière de mémoire complète (ou clôture) pour s’assurer que les opérations de mémoire sont effectuées dans l’ordre.
Systèmes itanium : Pour les applications critiques en matière de performances, utilisez plutôt InterlockedXorAcquire ou InterlockedXorRelease .
Configuration requise
Plateforme cible | Windows |
En-tête | winnt.h (inclure Windows.h) |