SQLite は、 アプリケーションに組み込んで使える軽量なデータベースです。 SQLite についての解説は他にたくさん有用なサイトがあるので、 ここでは説明は省略させて頂きます。 ここではロック関係について説明を書きます。 私が SQLite を使っている時に "database is locked" エラーにぶち当たり、 その解説のあるいくつものサイトを見ても分かりにくかったり、 どうも実際の挙動と合致しなくて困っていました。 やむなく仕様書を読んだり大量のテストコードを書いて調べたところ、 どうやら正しくない解釈で書かれている解説が多くあるようだと分かりました。 そこで、私のように困る人が減ることを願って、説明を残しておこうと思います。 仕様書と実際の挙動を元に理解して、実際にその理解に沿って 問題解決できているため、おそらく正しく理解できていると思いますが、 万が一間違いがあった