当前位置: 代码迷 >> C# >> c#lock(this)用法!解决方法
  详细解决方案

c#lock(this)用法!解决方法

热度:38   发布时间:2016-05-05 04:22:13.0
c#lock(this)用法!!!!

class A
{
public static int a; //假设a为公有资源, 只有一份
public void func()
{
    lock(this);
    try
    {
    a++;
    ......
    }
    catch (Exception ex)
    {
            return;  //当有两个线程调用func,问题在于这里, lock锁定的this, 那么当异常抛出之后, lock锁会自动解开吗。
    }
}
}


------解决思路----------------------
 lock(this); 你这里有个分号
lock了马上就解锁了。与下边try无关
------解决思路----------------------
出了lock方法体,就解锁了
http://blog.csdn.net/starfd/article/details/7062608
  相关解决方案