如何同步交易?

时间:2016-04-16 02:44:53

标签: algorithm design-patterns

想象一下,我有一个页面显示如下



平衡$ 100购物车
总价格$ 90第2册:10美元
第1册:80美元
--------------------
最终价格10美元



如何确保同步?
例如,如果两个人使用相同的帐户并同时发送不同的交易。这将导致一些可怕的事情。

2 个答案:

答案 0 :(得分:1)

这就是锁定的目的。

锁定存储Balance的变量,然后更新该值,然后将其解锁。然后,当第二个事务将尝试锁定和更新时,它将因失衡不足而失败。

答案 1 :(得分:0)

由于@displayName建议这是锁的经典用法。

添加一点: 对于单个服务器,选项包括: 1.线程共享局部变量。 2. singleton类,它为存储库提供资源并锁定资源/存储库。

对于带有sql的分布式服务器,可以使用sql锁。