Question

Je l'ai vu deux ou trois endroits citant le bit suivant de la spécification C #: « En plus des fonctions de bibliothèque conçus à cet effet, il n'y a aucune garantie de lecture-modification-écriture atomique. » point quelqu'un peut-il me à ces fonctions bibliothèque?

Était-ce utile?

La solution

La classe Interlocked devrait vous fournir ce que vous cherchez ; tels que et Increment Décrémenter .

Autres conseils

Je pense qu'il fait référence à des fonctions telles que Interlocked.CompareExchange .

Ce procédé peut être utilisé pour, par exemple, mettre à jour un atomiquement 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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top