Interlocked.Exchange, ancak booleanlar için değil?


11

Boolean için Interlocked.Exchange için bir eşdeğer var mı?

Bir önceki değeri döndüren ve kilit gerektirmeyen atomik değer değişimi gibi?

8

Hayır; Boole yerine tamsayılar kullanın. Prensipte böyle bir şey yazılabilir (cmpxchg, alttaki işlemci talimatı, x86, 8, 16, 32, 64 ve 128-bit işlenenlerinde 8, 16, 32 ve 64-bit işlenenlerde çalışabilir.). x64 üzerinde), ancak uygulamada çoğu API'ler işaretçiye ve çift işaretçiye (x64, 64 ve 128 bit x64 üzerinde 32 ve 64 bit) işlenenlere yapışır, çünkü gerçekten ihtiyacınız olan şeylerdir.