0

私のアプリケーションは複数のスレッドで実行されます。sqlite3 データベースにアクセスするには、最大 4 つのスレッドが必要です。これを実装するために、データベースを別のスレッドで実行することにしました。このスレッドにはキューがあります (単純に文字列のベクトル)。このキューは、他の 4 つのワーカー スレッドからのパイプを通じて満たされます。制限時間後または最大。実行するキュー内の要素の数。

これは許容できる解決策ですか? または、誰かがより良いものを持っていますか?

4

2 に答える 2

4

SQLite はマルチスレッドを完全にサポートしています。独自の管理システムを実装することで、アプリケーションのパフォーマンスと応答性が向上する可能性がありますが、そうではない可能性もあります。

sqlite のマルチスレッドについて知っておく必要があるのは、sqlite スレッドセーフのドキュメントだけです。その文書の情報を考慮して、慎重な決定を下すことをお勧めします。

また、独自のソリューションを作成する場合は、上記のドキュメントの情報を使用して、不要な sqlite 内部同期を無効にすることができます。

補足: この質問/回答には、役立つ情報がいくつかあります:マルチスレッド アプリケーションで SQLite を使用する方法は?

于 2013-07-10T08:20:58.053 に答える