更新競合とロックによる分離
同時実行制御は、複数のトランザクションが同じデータを同時に更新しようとしたときに、データの矛盾を防ぐ仕組みです。ロックなしでは、両方のトランザクションが更新前の値を読んでしまい、片方の更新がもう片方に上書きされて失われる更新競合が起きます。ロックをかけると、先に読んだ側が終わるまで後続を待たせられるため、更新は失われません。
ロックなしで両方のトランザクションを実行すると、最終的なstockの値は?
同時実行制御は、複数のトランザクションが同じデータを同時に更新しようとしたときに、データの矛盾を防ぐ仕組みです。ロックなしでは、両方のトランザクションが更新前の値を読んでしまい、片方の更新がもう片方に上書きされて失われる更新競合が起きます。ロックをかけると、先に読んだ側が終わるまで後続を待たせられるため、更新は失われません。
ロックなしで両方のトランザクションを実行すると、最終的なstockの値は?