80x86 には、単語の個々のビットをアトミックにテストして設定するための命令がありますか?
質問する
735 次
1 に答える
7
ビットを単一のアトミック操作としてテストおよび変更することを意味する場合、ビットテスト命令(BT、BTS、BTR、およびBTC)はすべて、LOCKプレフィックスを使用してアトミックにすることができます。
ビットをアトミックにテストしてから、ビットを個別の操作としてアトミックに設定する場合は、標準のアトミック読み取りを使用してビットをテストできます。ビットの変更は、LOCK OR、LOCK AND、LOCKXOR命令を使用して実行できます。
1つのビットをテストしてから別のビットを設定するなど、より複雑なものが必要な場合は、再試行ループで標準のコンペアアンドスワップCMPXCHG命令を使用する必要があります。
于 2009-11-17T11:39:32.410 に答える