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