好奇心から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;
}
}
}
上記の例では、オブジェクトthisLock
はlock
キーワードとともに使用されています。なぜこれが必要なのですか?それ以外の目的はないようです。lock
キーワードだけを持たないのはなぜですか?