Есть ли эквивалент Interlocked.Exchange
для логического?
Например, атомарный обмен значениями, который возвращает предыдущее значение и не требует блокировок?
user1228
21.08.2008 12:24:23
1 ОТВЕТ
РЕШЕНИЕ
Нет; используйте целые числа вместо логических.
В принципе, такое можно написать (cmpxchg, базовая инструкция процессора, может работать с 8, 16, 32 и 64-битными операндами на x86, 8, 16, 32, 64 и 128-битными операндами на x64), но на практике большинство API придерживаются указателей и двойных указателей (32- и 64-разрядных на x86, 64- и 128-разрядных на x64) операндов, потому что это все, что вам действительно нужно.
8
DrPizza
21.08.2008 12:33:13