私はテーブルにCREDIT_POINTSと言っています。それは列の下にあります。マルチスレッド環境でテーブルを更新する
Copmany Credit points Amount
A 100 50
B 200 94
C 250 80
この表を更新する複数のスレッドがあります。 クレジットポイントを読み、との数値とのクレジットポイントを計算して更新する方法があります。この計算にはかなりの時間がかかります。
スレッドAが読んで、何らかの計算を行っているとします。同時にAがスレッドBに書き戻す前に、テーブルからデータを読み込んで計算を行い、データを更新しています。ここでは、スレッドAが更新されたデータを失っています。多くの場合、複数のスレッドがテーブルを読み込んで更新しているため、クレジットポイントと金額は同期しません。
ここでできることの1つは同期メソッドを使用することです。 私は春のトランザクションを使用することを考えています。春のトランザクションスレッドは安全ですか?これには他に何が良い選択肢ですか? ご迷惑をおかけして申し訳ございません。
注:ibatis(ORM)およびMySQLを使用しています。
春の取引を使用して私の問題を解決しました。ありがとうございました。 – user2823355