温馨提示×

synchronized在C#中的替代方案

c#
小樊
91
2024-09-08 23:50:11
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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的值,从而确保数据的完整性和一致性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:C#中doevents的替代方案有哪些

0