System.Runtime.Caching.MemoryCache
で作業するときにロックを実装する必要がありますか? Contains(key);
を呼び出すか、すでにスレッドセーフですか?クラスのドキュメントに関するMSDNライブラリの記事でSystem.Runtime.Caching.MemoryCache - ロックが必要です
8
A
答えて
9
「スレッド・セーフティ」セクションこの:
インスタンスメンバーの場合は、スレッドセーフであるとは限りません。
これは.NETクラスでは通常のことですが、ドキュメントは定型文であり、いくつかの選択されたケースでは情報がありません。これは、ドキュメントが更新されるまで、MemoryCacheの場合も同様でした。 DavideによってリンクされたConnectのフィードバック記事は、これをクリアするのに役立ちます。
System.Runtime.Caching.MemoryCacheはスレッドセーフです。複数の同時スレッド スレッドは、MemoryCacheインスタンスを読み書きできます。内部的に スレッドセーフティが自動的に処理され、キャッシュが一貫した方法で更新されます( )。
これは、キャッシュ に格納されたデータ自体がスレッドセーフでない可能性があることを示しています。例えば、Listがキャッシュを に置いて、2つの別々のスレッドが両方ともキャッシュされた Listへの参照を取得すると、 が両方ともリストを同時に更新しようとすると、2つのスレッドが踏み合うことになります。
6
関連する問題
- 1. System.Runtime.Caching.MemoryCacheリストキャッシュインスタンス
- 2. C#スレッド - ロックまたはモニタが必要ですか?
- 3. SQL Server - 1列の更新、ロックが必要ですか?
- 4. System.Runtime.Caching.MemoryCacheの汎用実装
- 5. System.Runtime.Caching.MemoryCacheの異常な動作?
- 6. MemoryCacheスレッドの安全性、ロックは必要ですか?
- 7. マルチスレッドでローカル変数をロックする必要がありますか?
- 8. 私のコードが必要なときにmysql行をロックしてロックを実現する
- 9. C#のロックとミューテックスを一緒に使用する必要があります
- 10. MultiThreadingの例 - 私は辞書をロックする必要があります
- 11. フォームに必要な入力をロックする
- 12. ユニットテストメソッドで要約が必要です
- 13. クラウドWebロールプロジェクトでSystem.Runtime.Caching.MemoryCacheを使用できますか?
- 14. Androidアクティビティはマニフェストでロックされていますが、オリエンテーションイベントを取得する必要があります
- 15. XmlPullParserExceptionが必要ですend_tag
- 16. XMLパーサが必要です
- 17. LDTが必要ですか?
- 18. PHPチケットシステムが必要です。
- 19. WPFスプリットトグルボタンが必要です
- 20. バッチファイルが必要ですか?
- 21. データベースが必要です
- 22. ダブルフラッシュが必要ですか?
- 23. runtime_error ";"が必要ですか?
- 24. .NETカスタムコントロールライブラリが必要です
- 25. Python - アドバイスが必要です
- 26. アプリケーションが必要ですandroid.permission.BROADCAST_STICKY
- 27. doctrine2マッピングが必要です
- 28. ユニットテストが必要です
- 29. wordpressプラグインが必要です
- 30. virtualenvが必要ですか?
MemoryCacheクラススレッドセーフです。新しいmsdnのマニュアルを参照してください。 –