Condividi tramite


Funzione InterlockedIncrement64 (winnt.h)

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

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

Sintassi

LONG64 InterlockedIncrement64(
  [in, out] LONG64 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 64 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 _InterlockedIncrement64.

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 InterlockedIncrementAcquire64 o InterlockedIncrementRelease64 .

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

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 (includere Windows.h)

Vedi anche

Accesso variabile interlocked

InterlockedDecrement

InterlockedIncrement

InterlockedIncrement16

InterlockedIncrement16Acquire

InterlockedIncrement16NoFence

InterlockedIncrement16Release

InterlockedIncrementAcquire

InterlockedIncrementAcquire64

InterlockedIncrementNoFence

InterlockedIncrementNoFence64

InterlockedIncrementRelease

InterlockedIncrementRelease64

Funzioni di sincronizzazione