11

Interlocked.Exchangeブール値 に相当するものはありますか?

前の値を返し、ロックを必要としない値のアトミック交換など?

4

1 に答える 1

8

いいえ; ブール値の代わりに整数を使用してください。

原則として、そのようなことを書くことができます (基になるプロセッサ命令である cmpxchg は、x86 では 8、16、32、および 64 ビットのオペランドで操作でき、x64 では 8、16、32、64、および 128 ビットのオペランドで操作できます)、しかし実際には、ほとんどの API はポインターとダブル ポインター (x86 では 32 および 64 ビット、x64 では 64 および 128 ビット) オペランドに固執します。

于 2008-08-21T12:33:13.907 に答える