当前位置: 代码迷 >> ASP.NET >> synclock的用法不太理解,哪位高手能给演示一下,加锁和不加锁的区别
  详细解决方案

synclock的用法不太理解,哪位高手能给演示一下,加锁和不加锁的区别

热度:6153   发布时间:2013-02-25 00:00:00.0
synclock的用法不太理解,谁能给演示一下,加锁和不加锁的区别。
msdn上的解释,大家就不要贴了。

现在在维护一个项目,里面很多代码处都写上了syncLock代码块,但琢磨不明白它要干嘛。。。

msdn上没找到,加锁和不加锁的区别的代码例子。
哪位大侠能给段代码演示下,加锁和不加锁的区别。


------解决方案--------------------------------------------------------
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。
lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区。
如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。

demo:
C# code
private readonly static _lock = new object();void method1(){//每个线程进来都可以执行下面的代码//xxx,yyyzzz}void method1(){如果已经有一个线程在执行lock内的代码,其他线程就进不去了lock(_lock){//xxx,yyyzzz}}