lock关键字

lock关键字

  

  lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。

  lock 关键字在块的开始处调用 Enter,而在块的结尾处调用 Exit

  通常,应避免锁定 public 类型

Monitor.Enter

  

  使用 Enter 获取作为参数传递的对象上的 Monitor。如果其他线程已对该对象执行了 Enter,但尚未执行对应的 Exit,则当前线程将阻止,直到对方线程释放该对象。同一线程在不阻止的情况下多次调用 Enter 是合法的;但在该对象上等待的其他线程取消阻止之前必须调用相同数目的 Exit。

参考:

1、http://msdn.microsoft.com/zh-cn/library/c5kehkcz(v=vs.90).aspx

2、http://msdn.microsoft.com/zh-cn/library/de0542zz(v=vs.90).aspx

原文地址:https://www.cnblogs.com/tekkaman/p/4031619.html