1

是否可以在写入 SQLite 数据库时读取它?

我知道在写入时访问被阻止写入,但读取是否相同?

4

3 回答 3

1

这有点令人费解,但请查看 SQLite 的文件锁定和并发文档。听起来如果数据库处于exclusive锁定模式,那是唯一不允许读取的时间。除了解锁之外,当数据库甚至没有打开时。

我不是 100% 确定它,但这就是我认为的意思。

于 2009-08-20T11:00:51.160 回答
1

经过一番阅读,并查看了 FMDB 代码,我发现我没有正确使用 SQLITE_BUSY 和 SQLITE_LOCKED 返回值。

根据 FMDB 代码,一个人应该循环进行有限次数的重试,并在中间等待一小段时间。

所以我在我的代码中实现了这一点,一切似乎都运行良好。

于 2009-08-24T18:23:09.587 回答
0

是的,尽管需要考虑所有相关的多线程问题。我通常通过 sqlite3_open_v2() 打开同一个数据库文件的多个句柄。

于 2009-08-20T11:04:02.027 回答