Atomic Read-Modify-Write in C #
-
10-10-2019 - |
Frage
Ich habe ein paar Plätze unter Angabe der folgenden Bit des C # spec gesehen: „Abgesehen von den Bibliotheksfunktionen für diesen Zweck konzipiert, gibt es keine Garantie für die Atom-Read-Modify-Write.“ Kann jemand Punkt mich auf diese Bibliotheksfunktionen?
Lösung
Die Verschlungene Klasse sollten Sie mit dem, was Sie suchen ; wie Increment und Decrement .
Andere Tipps
ich denke, es zu Funktionen beziehen wie Interlocked.CompareExchange
.
Diese Methode kann verwendet werden, um beispielsweise atomar ein double
aktualisieren:
static void Add(ref double field, double amount)
{
double before, after;
do
{
before = field;
after = before + amount;
}
while (Interlocked.CompareExchange(ref field, after, before) != before);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow