Condividi tramite


Funzione InterlockedDecrement16 (winnt.h)

Decrementa (diminuisce di uno) il valore della variabile a 16 bit specificata come operazione atomica.

Per operare su valori a 32 bit, usare la funzione InterlockedDecrement .

Per operare su valori a 64 bit, usare la funzione InterlockedDecrement64 .

Sintassi

SHORT InterlockedDecrement16(
  [in, out] SHORT volatile *Addend
);

Parametri

[in, out] Addend

Puntatore alla variabile da decrementare.

Valore restituito

La funzione restituisce il valore decrementato risultante.

Commenti

La variabile a cui punta il parametro Addend deve essere allineata su un limite a 16 bit; in caso contrario, questa funzione si comporta in modo imprevedibile nei sistemi x86 multiprocessore e in tutti i sistemi non x86. Vedere _aligned_malloc.

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 _InterlockedDecrement16.

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

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

Requisiti

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

Vedi anche

Accesso a variabili interlocked

InterlockedDecrement

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrement64

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

Funzioni di sincronizzazione