这个只在Cabinet类的setStoreNumber方法加锁不行吧。
我的理解和文档中不一样,请老师帮忙看看哪里分析的不对:在Cabinet类的setStoreNumber方法加锁,只是对“存”的这个动作加了锁,当我“存”的动作做完了,锁就释放了,此时别人就能再做“存”的动作了,所以别人这个“存”的动作有可能在我“存”和“取”之间发生,那此时我取出来的就是别人“存”的数了,所以我觉得应该对整个cabinet对象加锁。
31
收起
正在回答 回答被采纳积分+1
1回答
coding_zhang
2020-02-04 08:18:13
文档中的例子只针对“存”加锁,防止并发。没有说谁存的,就要谁取。
如果按照你所说的,谁“存”谁“取”,在“set”方法上加锁显然是不行的。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星