2017-09-15 198 views
0

是否有可能從多個線程使用sqlite.swift(讀取/寫入同一個表)。我試圖從構建設置中確定它 - 但未找到SERIALIZED,MULTITHREAD或THREADSAFE字樣。
它在引擎蓋下使用原始的sqlite3 C庫嗎?是sqlite.swift線程安全嗎?

回答

0

SQLITE_THREADSAFE option的默認值爲「序列化」。

但是,從多個線程訪問相同的數據庫連接很可能會因爲每個連接只有一個事務而爆炸。無論如何,你應該使用每個線程一個連接。

+0

任何對Swift Sqlite庫感興趣的人都可以看到[GRDB](https://github.com/groue/GRDB.swift),該Swift Sqlite庫具有強大的**定義良好的**多線程行爲。 –