我最近读了很多书,现在我很困惑事务和锁定是如何工作的,以及它们是如何相互关联的。
使用 SQLite 时,想象以下流程:
- 开始 SQLite 事务
- 在 SQLite 连接上运行 select 语句以返回值
- 如果返回值满足条件,则转到步骤#4,否则转到步骤#5
- 做更新
- 提交 SQLite 事务
如果两个线程运行相同的代码,是否有可能在一个线程中获得所谓的“脏读”含义,在步骤 #3 和步骤 #4 之间,另一个线程可以运行更新(步骤 #4 )?
我最近读了很多书,现在我很困惑事务和锁定是如何工作的,以及它们是如何相互关联的。
使用 SQLite 时,想象以下流程:
如果两个线程运行相同的代码,是否有可能在一个线程中获得所谓的“脏读”含义,在步骤 #3 和步骤 #4 之间,另一个线程可以运行更新(步骤 #4 )?