我想知道如何使用lock
阻止System.Threading.Timer重叠lock
语句中的代码部分而不是外部代码! ?,它是如何工作的。
答案 0 :(得分:3)
大概是因为你有多个线程锁定在同一个对象上。
lock
语句的重点是,一次只有一个线程可以获取任何特定的监视器。如果他们不这样做,他们就会毫无意义!如果您的计时器线程试图获取不同的监视器,那么它们都可以同时运行。
如果这没有帮助,请阅读MSDN on the lock
statement,如果您仍然感到困惑,请发布更具体的问题。