Как я могу установить минимальное значение в .Net без использования блокировки?

У меня есть несколько потоков, обращающихся к переменным. Я знаю, как писать спин-блокировки и использовать методы Threading.Interlocked для увеличения и т. Д. Переменных.

Тем не менее, я хочу выполнить эквивалент:

a = Math.Min(a, b)
or
a = a | 10

... но без использования критического раздела. Это возможно? Я знаю, что вторая строка возможна в ассемблере, но нет метода Interlocked.Or.

Ответы на вопрос(2)

Ваш ответ на вопрос