Condividi tramite


Funzione InterlockedXor (winnt.h)

Esegue un'operazione XOR atomica sui valori LONG specificati. La funzione impedisce a più thread di usare contemporaneamente la stessa variabile.

Sintassi

LONG InterlockedXor(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Parametri

[in, out] Destination

Puntatore al primo operando. Questo valore verrà sostituito con il risultato dell'operazione.

[in] Value

Secondo operando.

Valore restituito

La funzione restituisce il valore originale del parametro Destination .

Commenti

Le funzioni interlock forniscono un meccanismo semplice per la sincronizzazione dell'accesso a una variabile condivisa da più thread. Questa funzione è atomica rispetto alle chiamate ad altre funzioni interlock.

Per i sistemi basati su Intel Itanium e le architetture x64, questa funzione viene implementata usando l'intrinseco del compilatore. Per l'architettura x86, usare direttamente l'intrinseco del compilatore _InterlockedXor .

Questa funzione genera una barriera di memoria completa (o recinzione) per garantire che le operazioni di memoria vengano completate in ordine.

Sistemi basati su Itanium: Per le applicazioni critiche per le prestazioni, usare invece InterlockedXorAcquire o InterlockedXorRelease .

Nota Questa funzione è supportata nei sistemi basati su Windows RT.
 

Requisiti

   
Piattaforma di destinazione Windows
Intestazione winnt.h (includere Windows.h)

Vedi anche

Accesso variabile interlocked

InterlockedXor16

InterlockedXor16Acquire

InterlockedXor16NoFence

InterlockedXor16Release

InterlockedXor64

InterlockedXor64Acquire

InterlockedXor64NoFence

InterlockedXor64Release

InterlockedXor8

InterlockedXor8Acquire

InterlockedXor8NoFence

InterlockedXor8Release

InterlockedXorAcquire

InterlockedXorNoFence

InterlockedXorRelease

Funzioni di sincronizzazione