2012-11-14 38 views
6

SQLite可以管理併發訪問嗎?我使用C/C++的SQLite?如果它不支持。有沒有什麼建議可以支持SQLite的併發訪問?SQLite中的併發訪問

+0

是否使用了交易? – Whymarrh

+0

http://stackoverflow.com/questions/4060772/sqlite3-concurrent-access – Oxi

回答

9

是它的文檔指出here

SQLite的3.0.0版本推出,旨在提高併發過的SQLite 2版本,以減少 作家飢餓問題提供了新的鎖定和日誌機制 。新機制還允許原子事務涉及多個數據庫文件。

和:

SQLite的使用POSIX諮詢鎖來實現鎖定在Unix。在 Windows上,它使用LockFile(),LockFileEx()和UnlockFile()系統調用 。

And here

的SQLite使用的文件系統鎖定,以確保只有一個進程和 數據庫連接試圖同時修改數據庫。在VFS層中實現了 文件系統鎖定機制,並且對於每個操作系統都是 。 SQLite依賴於這個 實現是正確的。如果出現問題並且兩個或兩個以上的進程能夠同時寫入同一個數據庫文件,則可能導致嚴重損壞。