ASP - 如何在我的代码中设置[lock statement]?

时间:2016-04-28 09:03:06

标签: c# asp.net .net locking

我想在我的代码中设置一个锁定语句..

我这样做了:

设置 - > private static Object thisLock = new Object(); - >全球化 变量

在我的代码中:

lock (thisLock)
{
    myCode HERE...
}

我有一个用于保存表单的按钮单击事件。我应该使用它来与ID发生冲突。只有我的代码,我会做的工作?我应该在代码之前还是之后写另一个?

Тhank,你以前!!!

1 个答案:

答案 0 :(得分:1)

代码很好。

记住 lock 关键字可确保一个线程不会进入关键代码段而另一个线程位于关键部分。如果另一个线程试图输入一个锁定的代码,它将等待,阻塞,直到该对象被释放。

这是一个来自MSDN的简单示例:

class Account
{
    decimal balance;
    private Object thisLock = new Object();

    public void Withdraw(decimal amount)
    {
        lock (thisLock)
        {
            if (amount > balance)
            {
                throw new Exception("Insufficient funds");
            }
            balance -= amount;
        }
    }
}