Condividi tramite


Funzione InterlockedExchange8 (winnt.h)

Imposta una variabile a 8 bit sul valore specificato come operazione atomica.

Per operare su una variabile puntatore, usare la funzione InterlockedExchangePointer .

Per operare su una variabile a 16 bit, usare la funzione InterlockedExchange16 .

Per operare su una variabile a 32 bit, usare la funzione InterlockedExchange .

Per operare su una variabile a 64 bit, usare la funzione InterlockedExchange64 .

Sintassi

CHAR InterlockedExchange8(
  [in, out] CHAR volatile *Target,
  [in]      CHAR          Value
);

Parametri

[in, out] Target

Puntatore al valore da scambiare. La funzione imposta questa variabile su Value e restituisce il valore precedente.

[in] Value

Valore da scambiare con il valore puntato da Target.

Valore restituito

La funzione restituisce il valore iniziale del parametro Target .

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.

Questa funzione viene implementata usando un intrinseco del compilatore, se possibile. Per altre informazioni, vedere il file di intestazione WinBase.h e _InterlockedExchange8.

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

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

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winnt.h (includere Windows.h)

Vedi anche

Accesso variabile interlocked

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Funzioni di sincronizzazione