温馨提示×

synchronized在C#中的替代方案

c#
小樊
88
2024-09-08 23:50:11
栏目: 编程语言

在C#中,lock语句是synchronized关键字的替代方案

以下是一个使用lock语句的示例:

class Account
{
    private object _lock = new object();
    private int _balance;

    public int Balance
    {
        get { return _balance; }
    }

    public void Deposit(int amount)
    {
        lock (_lock)
        {
            _balance += amount;
        }
    }

    public bool Withdraw(int amount)
    {
        lock (_lock)
        {
            if (_balance >= amount)
            {
                _balance -= amount;
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

在这个示例中,我们使用lock语句确保在同一时间只有一个线程可以访问_balance变量。这样可以防止多个线程同时修改_balance的值,从而确保数据的完整性和一致性。

0