Funzione InterlockedExchange16 (winnt.h)
Imposta una variabile a 16 bit sul valore specificato come operazione atomica.
Per operare su una variabile a 32 bit, utilizzare la funzione InterlockedExchange .
Per operare su una variabile a 64 bit, utilizzare la funzione InterlockedExchange64 .
Sintassi
SHORT InterlockedExchange16(
[in, out] SHORT volatile *Destination,
[in] SHORT ExChange
);
Parametri
[in, out] Destination
Puntatore al valore da scambiare. La funzione imposta questa variabile su ExChange e restituisce il valore precedente.
[in] ExChange
Valore da scambiare con il valore a cui punta Destination.
Valore restituito
La funzione restituisce il valore iniziale del parametro Destination .
Commenti
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 interlocked.
Questa funzione viene implementata usando un intrinseco del compilatore laddove possibile. Per altre informazioni, vedere il file di intestazione WinBase.h e _InterlockedExchange16.
Questa funzione genera una barriera di memoria completa (o limite) per garantire che le operazioni di memoria vengano completate nell'ordine.
Sistemi basati su Itanium: Per le applicazioni critiche per le prestazioni, usare invece InterlockedExchangeAcquire64 .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winnt.h (include Windows.h) |
Vedi anche
Accesso a variabili interlocked
InterlockedExchangePointerAcquire