私の(テスト)アプリケーションには、各スレッドが複数の呼び出しを次々に行う複数のスレッドがあります。各スレッドには、(同じ) SQLite データベースへの独自の接続があります。SELECT
数回の呼び出しですべてが正常に機能しますがSQLITE_BUSY
、sqlite3_step()
.
これを回避できることはわかっていますsqlite3_busy_timeout()
が、なぜこれが起こっているのか、またはこれが予期される動作なのかを知りたいです。
私は読み取り操作のみを行っていることに注意してください(最近では書き込み操作と見なされない限りSELECT
)。したがって、SQLite は共有ロックのみを取得する必要があります。
私は Windows (7 x64) で SQLite 3.7.13 を実行しています。