Condividi tramite


Funzione InterlockedIncrement (winnt.h)

Incrementi (aumenta di uno) il valore della variabile a 32 bit specificata come operazione atomica.

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

Sintassi

LONG InterlockedIncrement(
  [in, out] LONG volatile *Addend
);

Parametri

[in, out] Addend

Puntatore alla variabile da aumentare.

Valore restituito

La funzione restituisce il valore incrementato risultante.

Commenti

La variabile a cui punta il parametro Addend deve essere allineata su un limite a 32 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 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 _InterlockedIncrement.

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 InterlockedIncrementAcquire o InterlockedIncrementRelease .

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

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione winnt.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Accesso variabile interlocked

InterlockedDecrement

InterlockedIncrement16

InterlockedIncrement16Acquire

InterlockedIncrement16NoFence

InterlockedIncrement16Release

InterlockedIncrement64

InterlockedIncrementAcquire

InterlockedIncrementAcquire64

InterlockedIncrementNoFence

InterlockedIncrementNoFence64

InterlockedIncrementRelease

InterlockedIncrementRelease64

Funzioni di sincronizzazione