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