2014-01-15 35 views
2

創建DaoMaster之前是否需要在數據庫上調用enableWriteAheadLogging()?這在多線程或DaoMaster自動處理時會有幫助嗎?我需要從多個線程的非阻塞讀取。greenDAO中的enableWriteAheadLogging()

+0

爲什麼你認爲你需要WAL進行併發讀取? –

+0

@CL。因爲有些線程寫入。 – Monstieur

+0

如果數據庫格式是SQLite,那麼它支持多個併發讀取器,但只有一個寫入器,並且在寫入數據庫時​​被鎖定 - http://www.sqlite.org/faq.html#q5 –

回答

0

它(enableWriteAheadLogging())在greendao中沒有被調用,所以你必須自己調用它,即在你的OpenHelper實現中。

Greendao使用交易雖然。在greendao中也有一些同步,但要確保你應該使用enableWriteAheadLogging()