我在更新表时遇到了一些问题,该表可以跟踪多线程环境中的某些用户余额。
我在服务中有多个类,需要读取当前余额并添加/减去一定金额(我还在分类帐表中保留了添加/订阅的详细记录)。
避免并发问题(存储错误的余额等)的最佳实践是什么
附录 并发问题:
a. Thread "A" read value: 1 (time t)
b. Thread "B" read value: 1 (time t)
c. Thread "A" updates value (adding 5): 6 (time t+1)
d. Thread "B" updates value (adding 3): 4 (time t+2)
e. The final value is 4 when it should be 9