ロックとスレッドセーフなコレクションを使用するのはいつ並行辞書が好きですか?いくつかの説明とシナリオを入力してください。lockキーワードとスレッドセーフなコレクションを使用する場合
1
A
答えて
0
ConcurrentDictionaryは がに追加したり、辞書にデータを更新し、きめの細かいロックを使用していますが、それは完全に ロックフリー読み取り操作のためです。この方法では、 のシナリオでは、辞書からの読み込みが最も頻繁な の操作に最適化されています。
ロックは必要ありませんが、あなたは適切に同時コレクションを使用する必要があります。GetOrAdd()またはTryAdd()メソッドで
+0
@mjwills、1つのスレッドアーキテクチャのcまたはパフォーマンス要件 –
+0
'しかし、あなたはコンカレントコレクションを正しく使用する必要があります.' - それはどういう意味ですか? – mjwills
関連する問題
- 1. awaitキーワードを使用する場合
- 2. `synchronized`キーワードを使用しないスレッドセーフなコードですか?
- 3. 「new」キーワードを使用する場合と使用しない場合の違いを教えてください
- 4. isinstance racing typeError(マルチプロセッシングで使用する場合)Lock
- 5. C#の 'new'キーワードを使用する場合と使用しない場合のオブジェクトプロパティの設定
- 6. 静的変数と自己キーワードを使用する場合
- 7. - スレッドセーフなコレクション修正
- 8. random_shuffleはスレッドセーフですか?そうでない場合はrand_rを使用する
- 9. Javascript:varキーワードを使用しない場合の2つの出力
- 10. リアクティブ・フレームワークを使用してスレッドセーフ・コレクションを観察する
- 11. $ thisを使用する場合とシンプルな変数を使用する場合
- 12. JavaScriptプロトタイプオブジェクトを使用する場合のイベントメソッドの "this"キーワード
- 13. ARCでオブジェクト参照に__blockキーワードを使用する場合
- 14. エリクシルの場合にdo/elseキーワードを使用する理由
- 15. スワイフで3種類のキーワード「as」を使用する場合
- 16. Pythonでキーワード "self"を使用する場合
- 17. awaitキーワードを使用する場所 - C#
- 18. mongo_c_driverの異なるコレクションのスレッドセーフ
- 19. キーワードthisを使用している場合のオーバーヘッド?
- 20. チェーンされたスレッドセーフなコレクションはスレッドセーフですか?
- 21. testcasenameがrobotframeworkのabcと等しい場合にキーワードを使用する方法
- 22. Python 2.7で__init__を使用しない場合と使用する場合
- 23. スレッドセーフな自動クリアキャッシュの作成にvolatileキーワードを使用できますか?
- 24. 推論サービスでtf.Sessionを使用する場合はスレッドセーフですか?
- 25. スカラ不変なコレクションはスレッドセーフですか?
- 26. VectorとHashtableはコレクションのスレッドセーフですか?
- 27. sass - 使用する場合としない場合
- 28. 型略称/エイリアスを使用する場合、なぜfunキーワードを使用する必要がありますか?
- 29. RegExpオブジェクトは、Windowsスクリプトコンポーネント内で使用する場合、VBScriptスレッドセーフです。
- 30. Scalaコレクションをスレッドセーフに更新する
次のいずれかのシナリオがある場合 - のいずれかa)1つを**そして**複数のスレッドをコレクションに書き込むスレッドや、複数のスレッドをコレクションに書き込むスレッドがある場合は、 'lock'かスレッドセーフなコレクションのどちらかを使う必要があります。 – mjwills
も参照してください。https://docs.microsoft.com/en-us/dotnet/standard/collections/thread-safe/when-to-use-a-thread-safe-collection – mjwills