Funzione InterlockedOr (winnt.h)

Esegue un'operazione OR atomica sui valori LONG specificati. La funzione impedisce a più thread di usare contemporaneamente la stessa variabile.

Sintassi

LONG InterlockedOr(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Parametri

[in, out] Destination

Puntatore al primo operando. Questo valore verrà sostituito con il risultato dell'operazione.

[in] Value

Secondo operando.

Valore restituito

La funzione restituisce il valore originale 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.

Per i sistemi basati su Intel Itanium e le architetture x64, questa funzione viene implementata usando l'intrinseco del compilatore. Per l'architettura x86, usare direttamente il compilatore _InterlockedOr .

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 InterlockedOrAcquire o InterlockedOrRelease .

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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione winnt.h (include Windows.h)

Vedi anche

Accesso a variabili interlocked

InterlockedOr16

InterlockedOr16Acquire

InterlockedOr16NoFence

InterlockedOr16Release

InterlockedOr64

InterlockedOr64Acquire

InterlockedOr64NoFence

InterlockedOr64Release

InterlockedOr8

InterlockedOr8Acquire

InterlockedOr8NoFence

InterlockedOr8Release

InterlockedOrAcquire

InterlockedOrNoFence

InterlockedOrRelease

Funzioni di sincronizzazione