私は、異なるスレッドで実行されている異なるクライアントからの購読要求と購読解除要求を扱うシングルトンクラスを持っています。シングルトンには、サブスクライバのコレクションが含まれています。追加または削除する前に、クラスは要素がまだ追加または削除されていないことを検証する必要があります。このシナリオでは、どのスレッドセーフなコレクションが適切ですか?
通常、これはListまたは各操作の前にContainsを呼び出すHashSetを使用して実装しますが、System.Collections.Concurrent名前空間で新しいクラスの1つを使用する場合は、 ConcurrentDictionaryにダミー値を設定します。
これは私の最善の選択ですか、それとも私が見逃していることはありますか?ところで、パフォーマンスは実際に考慮する要因ではありません。
"と異なり、バッグは重複をサポートしています。対「追加または削除する前に、クラスは要素がまだ追加または削除されていないことを検証する必要があります。 – CodesInChaos