我以前提到过,为了对static变量的使用进行线程同步。可以使用lock(typeof(ClassName)),msdn也这样提过。
但A Special Dr. GUI: Don't Lock Type Objects!提出了异议。
------------------------------------------
无论何时都不该使用一个不在你同步控制范围内的对象作为同步对象,比如这个AppDomain范围内的Type实例。想想一下如果在系统中的某个地方也用到了这个全局的同步对象,则很有可能发生不可预测的死锁。因此.NET在很多类中都提供了SyncRoot之类的用于访问局部同步对象的属性,在自己的类库中也可以采用类似的设计。:)

