Fonction InterlockedExchange64 (winnt.h)
Définit une variable 64 bits sur la valeur spécifiée en tant qu’opération atomique.
Pour fonctionner sur une variable 16 bits, utilisez la fonction InterlockedExchange16 .
Pour fonctionner sur une variable 32 bits, utilisez la fonction InterlockedExchange .
Syntaxe
LONG64 InterlockedExchange64(
[in, out] LONG64 volatile *Target,
[in] LONG64 Value
);
Paramètres
[in, out] Target
Pointeur vers la valeur à échanger. La fonction définit cette variable sur Value et retourne sa valeur précédente.
[in] Value
Valeur à échanger avec la valeur pointée par Target.
Valeur retournée
La fonction retourne la valeur initiale du paramètre Target .
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.
Cette fonction est implémentée à l’aide d’une intrinsèque du compilateur dans la mesure du possible. Pour plus d’informations, consultez le fichier d’en-tête WinBase.h et _InterlockedExchange64.
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 InterlockedExchangeAcquire64 .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winnt.h (inclure Windows.h) |
Voir aussi
InterlockedExchangePointerAcquire