你能锁定一般字典吗?

leo*_*ora 6 c# generics multithreading dictionary locking

或者你应该总是创建一些其他锁定对象?

Mic*_*ren 14

是的,将它投射到IDictionary并锁定.SyncRoot:

Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();

lock (((IDictionary)dic).SyncRoot)
{
    // code
}
Run Code Online (Sandbox Code Playgroud)

感谢这个信息来源.

当然,正如其他人所建议的那样,线程安全字典也会很好.