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?

¿Fue útil?

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
scroll top