私は最近よく読んでいますが、トランザクションとロックがどのように機能し、どのように相互に関連しているかについて非常に混乱しています。
SQLite を使用する場合、次のフローを想像してください。
- SQLite トランザクションを開始する
- SQLite 接続で select ステートメントを実行して値を返す
- 返された値が条件を満たしている場合はステップ 4 に進み、それ以外の場合はステップ 5 に進みます
- 更新を行います
- SQLite トランザクションをコミットする
2 つのスレッドが同じコードを実行する場合、ステップ #3 とステップ #4 の間で、スレッドの 1 つがいわゆる「ダーティ リード」の意味を取得する可能性はありますか? )?