Atómica modificación-escritura-lectura en C #
-
10-10-2019 - |
Pregunta
he visto un par de lugares citando el siguiente bit de la especificación C #: "Aparte de las funciones de biblioteca diseñadas para tal fin, no hay garantía de atómica de lectura-modificación-escritura." Me puede punto a alguien a estas funciones de biblioteca?
Solución
La clase Interlocked debe ofrecerle lo que busca ; tales como Incremento y Decremento .
Otros consejos
creo que se está refiriendo a funciones tales como Interlocked.CompareExchange
.
Este método se puede utilizar para, por ejemplo, actualizar atómicamente un double
:
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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow