java 高手过目 考试题目一段小程序 急啊!谢谢!高分悬赏

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:01:48
假设有这种情况,对同一个账号可以在不同的地方取钱,在同一时间,不同地点,妻子和丈夫取钱,妻子输入了账号上的最大金额,丈夫也是一样,假如妻子输入后已经得到true的返回值,但是丈夫的线程所得到的值还没有更新,这样丈夫也能够得到true的返回值,这样就出现了问题!这个问题怎么解决呢?那就是关键字synchronized。

高分悬赏

private double allMoney;



public synchronized void fetchMoney(double money){
allMoney -= money;
}

无论谁取钱,都调用这个方法

一个问题干吗问两遍? 问两遍的话也补充一些条件啊

对, 没有错
你应该相信才对嘛
还有
有什么想法和见解就应该亲自区尝试过才知道对不对

恩,用synchronized关键字让他们同步,那么就不会有问题了。

把取钱的方法设置为synchronized,
方法里面再更改取钱的状态

汗,他自问自答。。。

good