残高転送のトランザクション風処理
コンピューターサイエンス理論 / 全 5 枚
コンピューターサイエンス理論 - 残高転送のトランザクション風処理
途中で止まると困る処理
口座の振替は、引く処理と足す処理が両方そろって初めて意味を持ちます。片方だけ済んだところで止まると、世界からお金が消えます。
止まるだけが事故ではありません。2人が同時に触ったときに何が起きるかを図解で見ます。
2行を「まとめて全部か、まとめて無かったことに」するのがトランザクションです。
from.balance -= amount;
// ここで落ちたら?
to.balance += amount;1 / 5
← → キーでも送れます