Condividi tramite


Funzione InterlockedDecrement64 (winnt.h)

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

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

Sintassi

LONG64 InterlockedDecrement64(
  [in, out] LONG64 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 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 _InterlockedDecrement64.

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 InterlockedDecrementAcquire64 o InterlockedDecrementRelease64 .

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

InterlockedDecrement16

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

Funzioni di sincronizzazione