2012-03-28 154 views
6

我使用的是來自system.data.sqlite.org的SQLite每個線程一個SQLiteConnection?

我們需要從多個線程(出於各種原因)訪問數據庫。我讀了很多關於sqlite線程安全功能(默認同步訪問模式對我來說很好)。

我不知道是否可以簡單地打開每個線程的連接。是這樣的可能嗎?我真的不關心比賽條件(請求尚未插入的東西)。我只感興趣的是可以使用每個線程一個對象SQLiteConnection來訪問數據。

回答

3

是的。事實上,這是正確的方式,因爲SQLite不是線程安全的(默認情況下,您可以使用某些選項進行線程安全編譯)。而只是爲了確保它的工作原理:在一些小的網站正在使用SQLite的,所以多線程有:)

這裏的更多信息:http://www.sqlite.org/faq.html#q6

4

由於您使用每個線程一個單獨的連接,你應該罰款。

docs

注意SQLiteConnection實例不保證線程安全 。您應該同時避免在幾個 線程中使用相同的 SQLiteConnection。建議每個線程打開一個新的連接 ,並在工作完成時關閉它。

相關問題