在我的(测试)应用程序中,我有多个线程,每个线程一个接一个地进行多个SELECT
调用。每个线程都有自己与(相同)SQLite 数据库的连接。
几次调用一切正常,但随后我开始SQLITE_BUSY
从sqlite3_step()
.
我知道我可以规避这种情况,sqlite3_busy_timeout()
但我想知道为什么会发生这种情况,或者这是否是预期的行为。
请注意,我只做读操作(除非SELECT
现在被认为是写操作),所以 SQLite 应该只获取共享锁,不是吗?
我在 Windows (7 x64) 上运行 SQLite 3.7.13。