スレッドセーフティに関しては、HashTableとDictionaryの間に違いはありますか?私は、任意のを見ていない... MSDNによると、以下のように両方が定義されています -スレッド安全性に関して辞書とハッシュテーブルの相違点
ハッシュテーブルは、複数のリーダースレッドと 単一の書き込みスレッドで使用するためにスレッドセーフです。 スレッドのうちの1つだけが書き込み(更新)操作を実行するとき、マルチスレッドのスレッドセーフです。 は、書き込み側がHashtable にシリアル化されている場合、ロックフリー読み取りが許可されます。
A辞書限りコレクションが変更されないように、同時に を複数のリーダーをサポートすることができます。それでも、コレクションを通じて を列挙することは、本質的にスレッドセーフな手順ではありません。 列挙型が書き込みアクセスと競合するまれなケースでは、列挙全体で コレクションをロックする必要があります。 コレクションに読み取りと書き込みのために複数のスレッドがアクセスできるようにするには、 独自の同期を実装する必要があります。
HashTable =一般的ではありません。使用しないでください。これまで推奨されていません。 –
@KonradRudolph、廃止されたものではありませんが、IMOであるべきです... –
@Thomas正確に。私はそう宣言します。マイクロソフトがなぜこれらのクラスのプラグを引き出していないのか分かりませんが、丁寧な会社では使用しません。 –