或者你应该总是创建一些其他的锁对象?
ak
问问题
7377 次
2 回答
14
是的,将其转换为 IDictionary 并锁定.SyncRoot
:
Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>();
lock (((IDictionary)dic).SyncRoot)
{
// code
}
感谢此信息来源。
当然,正如其他人所建议的那样,线程安全字典也会很好。
于 2009-01-04T01:54:43.843 回答
1
您可以锁定您希望的任何对象(值类型除外)。建议锁定 .SyncRoot 对象。
于 2009-01-04T01:55:42.907 回答