在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的替代方案有哪些