Атомарно обменивать значение по результату сравнения

У меня есть очень простая операция, которую нужно выполнять атомарно:

if (a > b)
  b = a

где a и b - это целые числа

РЕДАКТИРОВАТЬ: и a локально.

] Есть ли быстрый способ сделать это в C #? Я бы хотел избежать блокировки вручную, если это возможно. Я смотрел Interlocked.CompareExchange, но, насколько я понимаю, это только проверка на равенство.

Спасибо!

6
задан sll 17 August 2011 в 23:11
поделиться