2012-03-28 27 views
6

私はsystem.data.sqlite.orgのSQLiteを使用していますスレッドごとに1つのSQLiteConnection?

多くのスレッドからデータベースにアクセスする必要があります(さまざまな理由で)。私はsqliteのスレッドセーフな機能について多くのことを読んだことがある(デフォルトの同期アクセスモードは私にとってはうまくいく)。

スレッドごとに接続を開くことは可能でしょうか。このようなことは可能でしょうか?私は本当に競争条件(まだ挿入されていないもの)を気にしない。私は、スレッドごとに1つのSQLiteConnectionオブジェクトを使用してデータにアクセスすることが可能であるという事実にのみ興味があります。

答えて

3

はい。実際には、SQLiteはスレッドセーフではないため(デフォルトでは、いくつかのオプションでスレッドセーフなコンパイルを行うことができます)、適切な方法です。 SQLiteのは、いくつかの小さなウェブサイトで使用されているので、マルチスレッドはここ

より多くの情報が:)されています:あなたは問題ないはずスレッドごとに別々の接続を使用して考えるとhttp://www.sqlite.org/faq.html#q6

4

を。そして、ちょうどそれが動作することを確認します

SQLiteConnectionインスタンスはスレッド 安全であることが保証されていないことに注意してくださいdocsから

。同時に複数のスレッドの にと同じ SQLiteConnectionを使用しないでください。スレッドごとに新しい接続 を開いて、作業が完了したら閉じることをお勧めします。

関連する問題