Атомный чтенный модификационный запишений в C#
-
10-10-2019 - |
Вопрос
Я видел несколько мест, цитирующих следующий бит для C# Spec: «Помимо библиотечных функций, разработанных для этой цели, нет никакой гарантии атомного модификационного модификации чтения». Может ли кто -нибудь указать мне на эти библиотечные функции?
Решение
То Блокируется Класс должен предоставить вам то, что вы ищете; такие как Приращение и Уменьшение.
Другие советы
Я думаю, что это относится к таким функциям, как Interlocked.CompareExchange
.
Этот метод может быть использован, например, атомно обновить 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);
}
Не связан с StackOverflow