0

オブジェクトをロックする代わりに、アクセスしているユーザーに一時的なコピーを表示する方法はありますか?

4

2 に答える 2

2

あなたのケースでは重要なリソースであるそのオブジェクトを使用するコードを TransactionScope でラップし、IsolationLevel を Snapshot に設定します。

そうすれば、同じオブジェクトにアクセスしようとする人は、トランザクションが完了するまで、オブジェクトを編集する前の値を見ることができます。

于 2013-03-01T14:29:17.767 に答える
0

volatile修飾子を使用すると、一時コピーを回避できます。

前の命令が同じオブジェクトの値を要求した場合でも、システムは要求された時点で常に揮発性オブジェクトの現在の値を読み取ります。また、オブジェクトの値は代入時にすぐに書き込まれます。volatile 修飾子は通常、lock ステートメントを使用してアクセスをシリアル化せずに、複数のスレッドによってアクセスされるフィールドに使用されます。volatile 修飾子を使用すると、あるスレッドが別のスレッドによって書き込まれた最新の値を確実に取得できます。

于 2013-03-01T14:34:19.737 に答える