2011-03-08 10 views

答えて

9

「スレッド・セーフティ」セクションこの:

インスタンスメンバーの場合は、スレッドセーフであるとは限りません。

これは.NETクラスでは通常のことですが、ドキュメントは定型文であり、いくつかの選択されたケースでは情報がありません。これは、ドキュメントが更新されるまで、MemoryCacheの場合も同様でした。 DavideによってリンクされたConnectのフィードバック記事は、これをクリアするのに役立ちます。

System.Runtime.Caching.MemoryCacheはスレッドセーフです。複数の同時スレッド スレッドは、MemoryCacheインスタンスを読み書きできます。内部的に スレッドセーフティが自動的に処理され、キャッシュが一貫した方法で更新されます( )。

これは、キャッシュ に格納されたデータ自体がスレッドセーフでない可能性があることを示しています。例えば、Listがキャッシュを に置いて、2つの別々のスレッドが両方ともキャッシュされた Listへの参照を取得すると、 が両方ともリストを同時に更新しようとすると、2つのスレッドが踏み合うことになります。

+4

MemoryCacheクラススレッドセーフです。新しいmsdnのマニュアルを参照してください。 –

6

新しいドキュメントによると、MemoryCacheクラスはスレッドセーフです。

MSDN

Microsoft connect

関連する問題