C#のAtomic Read-Modify-Write
-
10-10-2019 - |
質問
次のC#仕様のビットを引用している場所をいくつか見てきました。「その目的のために設計されたライブラリ関数は別として、Atomic Read-Modify-Writeの保証はありません。」誰かが私にこれらの図書館の機能を指摘できますか?
他のヒント
次のような関数を指していると思います Interlocked.CompareExchange
.
この方法は、例えば、原子的に更新することができます double
:
static void Add(ref double field, double amount)
{
double before, after;
do
{
before = field;
after = before + amount;
}
while (Interlocked.CompareExchange(ref field, after, before) != before);
}
所属していません StackOverflow