InterlockedOr-Funktion (winnt.h)
Führt einen atomaren OR-Vorgang für die angegebenen LONG-Werte aus. Die Funktion verhindert, dass mehrere Threads dieselbe Variable gleichzeitig verwenden.
Syntax
LONG InterlockedOr(
[in, out] LONG volatile *Destination,
[in] LONG Value
);
Parameter
[in, out] Destination
Ein Zeiger auf den ersten Operanden. Dieser Wert wird durch das Ergebnis des Vorgangs ersetzt.
[in] Value
Der zweite Operand.
Rückgabewert
Die Funktion gibt den ursprünglichen Wert des Zielparameters zurück.
Hinweise
Die verriegelten Funktionen bieten einen einfachen Mechanismus zum Synchronisieren des Zugriffs auf eine Variable, die von mehreren Threads gemeinsam genutzt wird. Diese Funktion ist in Bezug auf Aufrufe anderer ineinander verzahnter Funktionen atomar.
Für intel Itanium-basierte Systeme und x64-Architekturen wird diese Funktion mithilfe des intrinsischen Compilers implementiert. Verwenden Sie für die x86-Architektur direkt den _InterlockedOr intrinsischen Compiler.
Diese Funktion generiert eine vollständige Speicherbarriere (oder einen Zaun), um sicherzustellen, dass Speichervorgänge in der richtigen Reihenfolge abgeschlossen werden.
Itanium-basierte Systeme: Verwenden Sie für leistungskritische Anwendungen stattdessen InterlockedOrAcquire oder InterlockedOrRelease .
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | winnt.h (Einschließen von Windows.h) |