Метод Increment
Interlocked.Increment возвращает
новое число после прибавления 1.
Обратная операция -
Decrement.
Произвольное слагаемое -
Add.
Обычный ++ атомарным не
является - см.
Interlocked.
Синтаксис
int next = Interlocked.Increment(ref location);
Пример
Давайте увеличим 0:
using System;
using System.Threading;
class Program
{
static void Main()
{
int location = 0;
int res = Interlocked.Increment(ref location);
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте вызовем Increment ещё раз:
using System;
using System.Threading;
class Program
{
static void Main()
{
int location = 0;
Interlocked.Increment(ref location);
int res = Interlocked.Increment(ref location);
Console.WriteLine(res);
}
}
Результат выполнения кода:
2
Пример
Давайте проверим переменную после вызова:
using System;
using System.Threading;
class Program
{
static void Main()
{
int location = 0;
Interlocked.Increment(ref location);
Console.WriteLine(location);
}
}
Результат выполнения кода:
1
Смотрите также
-
метод
Decrement,
вычесть единицу -
метод
Add,
прибавить произвольное число -
Interlocked,
класс атомарных операций -
Volatile,
не заменяет атомарный счётчик