Я экспериментировал с многопоточной и параллельной обработкой, и мне нужен счетчик, чтобы выполнить базовый подсчет и статистический анализ скорости обработки. Чтобы избежать проблем с одновременным использованием моего класса, я использовал оператор блокировки для частной переменной в моем классе:
private object mutex = new object();
public void Count(int amount)
{
lock(mutex)
{
done += amount;
}
}
Но мне было интересно... насколько дорого стоит блокировка переменной? Каковы негативные последствия для производительности?