问题描述
我正在上操作系统课程。我想问一下锁和关键部分。考虑以下可以由多个线程调用的C
函数。每当使用共享资源balance
时,我都会使用锁。
int withdraw(account,amount)
{
acquire(lock);
balance = get_balance(account);
balance = balance - amount;
put_balance(account,balance);
release(lock);
return balance;
}
我的问题是我应该这样做还是在return
语句之后释放锁?两种方式的后果是什么,哪种是更好的做法?
我看到了另一个类似的Question,但我无法从中了解在示例示例中该怎么做。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)