Funzione InterlockedExchange (winnt.h)
Imposta una variabile a 32 bit sul valore specificato come operazione atomica.
Per operare su una variabile puntatore, utilizzare la funzione
Per operare su una variabile a 16 bit, usare la funzione InterlockedExchange16
Per operare su una variabile a 64 bit, usare la funzione interlockedExchange64
Sintassi
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
Parametri
[in, out] Target
Puntatore al valore da scambiare. La funzione imposta questa variabile su Valuee ne restituisce il valore precedente.
[in] Value
Valore da scambiare con il valore a cui punta Target.
Valore restituito
La funzione restituisce il valore iniziale del parametro target
Osservazioni
Le funzioni interlocked forniscono un meccanismo semplice per sincronizzare l'accesso a una variabile condivisa da più thread. Questa funzione è atomica rispetto alle chiamate ad altre funzioni interlock.
Questa funzione viene implementata usando un compilatore intrinseco laddove possibile. Per altre informazioni, vedere il file di intestazione WinBase.h e _InterlockedExchange.
Questa funzione genera una barriera di memoria completa (o limite) per garantire che le operazioni di memoria vengano completate in ordine.
sistemi basati su Itanium: Per le applicazioni critiche per le prestazioni, usare InterlockedExchangeAcquire.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [app desktop | App UWP] |
server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
winnt.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
accesso a variabili interlocked
">InterlockedExchangeAddAcquire64
InterlockedExchangeAddNoFence64
<un href="/previous-versions/windows/desktop/legacy/ms683605(v=vs.85)". InterlockedExchangeAddRelease
InterlockedExchangeAddRelease64
InterlockedExchangePointerAcquire