Atomique en lecture-écriture en modify C #
-
10-10-2019 - |
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?
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