質問: c#で最初にDictionaryに要素を追加し、その後複数のスレッドから読み込む処理があります。 Dictionaryの初期化処理はasp.netのInitPageで行います。 この場合、読み込み処理でマルチスレッドのため、問題になることはありますでしょうか?
回答: `System.Collections.Generic.Dictionary` は - 複数スレッドで読み込みのみが行われる場合は安全 - 読み込みと書き込みが同時の時は安全でない と記載がありますね `System.Collections.Concurrent.ConcurrentDictionary` はスレッドセーフであるとのこと 毎回同期をとっていると遅いので、途中での更新が無いなら前者のほうが速そう。あるいは `ImmutableDictionary` にする手もありそう。