【说明】 某银行的存款业务分为如下三个过程: (1)读取当前账户余额,记为R(b): (2)当前余额b加上新存入的金额x作为新的余额b,即b=b+x; (3)将新余额b写入当前账户,记为W(b)。 存款业务分布于该银行各营业厅

admin2009-05-15  38

问题 【说明】
   某银行的存款业务分为如下三个过程:
   (1)读取当前账户余额,记为R(b):
   (2)当前余额b加上新存入的金额x作为新的余额b,即b=b+x;
   (3)将新余额b写入当前账户,记为W(b)。
   存款业务分布于该银行各营业厅,并允许多个客户同时向同一账户存款,针对这一需求,完成下述问题。

选项

答案出现问题:有一个存款值会丢失,造成数据不一致。

解析 两个客户A、B向同一账号发出存款100元的请求,当前账号余额为100元,如果银行的存款业务过程为:A(1),B(1),A(2),B(2),A(3),B(3),则会发生,首先A读取当前账户余额为100元,然后B读取当前账户余额为100元,再A加入新存的100元,即账户余额200元,而B也加入新存的100元,账户余额200元,最后A将200元写入当前账户,而B也将200元写入当前账户。这时就造成A存的钱不见了,所以当有两个客户向同一账号发出存款请求,该程序会出现问题:有一个存款值会丢失,造成数据不一致。
转载请注明原文地址:https://kaotiyun.com/show/ozTZ777K
0

相关试题推荐
最新回复(0)