私の Android アプリケーションでは、異なるスレッドから複数の SQLite テーブルにデータを挿入する必要があります (1 つのテーブルに挿入するための 1 つのスレッドで、5 つのテーブルがあります)。多くのデータがあるので、すべてのスレッドでbeginTransaction()
-> setTransactionSuccessful()
->を使用endTransaction();
し、すべてのスレッドが同時に開始されますが、2 番目または 3 番目のスレッドでは常にこの例外が発生します。
ここで述べたように、単一の SQLite 接続 (シングルトン) を使用していますが、それでもこの問題は残っています。
PSそして、競合状態がある場合、マルチスレッド挿入に他にどのような方法を使用すればよいですか?