Frage

Gibt es ein Äquivalent für? Interlocked.Exchange für Boolesch?

Etwa ein atomarer Werteaustausch, der den vorherigen Wert zurückgibt und keine Sperren erfordert?

War es hilfreich?

Lösung

NEIN;Verwenden Sie Ganzzahlen anstelle von Booleschen Werten.

Im Prinzip könnte so etwas geschrieben werden (cmpxchg, der zugrunde liegende Prozessorbefehl, kann mit 8-, 16-, 32- und 64-Bit-Operanden auf x86, 8, 16, 32, 64 und 128-Bit-Operanden auf x64 arbeiten), Aber in der Praxis bleiben die meisten APIs bei den Operanden Zeiger und Doppelzeiger (32 und 64 Bit auf x86, 64 und 128 Bit auf x64), weil sie alles sind, was Sie wirklich brauchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top