日期:2014-05-20  浏览次数:20814 次

关于lock和monitor的问题.
monitor是用来锁对象的.lock是不是就是有守卫机制的monitor?保证在出某个区域的时间一定会释放?

------解决方案--------------------
lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。
Monitor 类通过向单个线程授予对象锁来控制对对象的访问。
------解决方案--------------------
下列形式的 lock 语句

lock (x) ...
(其中 x 是一个引用类型的表达式)完全等效于

System.Threading.Monitor.Enter(x);
try {
...
}
finally {
System.Threading.Monitor.Exit(x);
}
不同的只是:实际执行中 x 只计算一次。