假设我有3个线程,T1,T2和T3来自应用程序,所有这些都在同一时间开始。它们都从某个表,行和列中读取相同的值。可以说这个值是50
1. T1很快。完成时间为100毫秒。完成后,它会用+5更新它读取的值。因此,它在数据库中写入 55 。
2. T2有点慢。完成700毫秒。完成后,它会将其读取的值加上+10。因此,它使用 60 更新数据。
3. T3甚至更慢,并在1300ms完成。完成后,该线程增加+15。因此,该值变为 65 。
我希望从SO中学到的解决方案是在这种情况下如何处理数据一致性。因为,显然在T3结束时,该值应 80 (50 + 5 T1 + 10 T2 + 15 T3),而不是65。
如果需要,我可以告诉我是否可以更清楚地提出问题。