汎用辞書をロックできますか?
-
03-07-2019 - |
質問
または、他のロックオブジェクトを常に作成する必要がありますか?
解決
はい、IDictionaryにキャストして .SyncRoot
をロックします:
Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();
lock (((IDictionary)dic).SyncRoot)
{
// code
}
これに感謝ソース。情報
もちろん、他の人が示唆しているように、スレッドセーフな辞書もいいでしょう。
他のヒント
任意のオブジェクトをロックできます(値タイプを除く)。 .SyncRootオブジェクトをロックするのは推奨です。
所属していません StackOverflow