質問

次の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);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top