4
我正在使用SQLite的.NET應用程序。按照SQLite documentation,它支持多線程並可用於以下3種模式之一:用於.NET的System.Data.SQLite中的Serealized模式
- 單線程。在這種模式下,所有的互斥鎖都被禁用,並且SQLite不安全,可以同時在多個線程中使用。
- 多線程。在這種模式下,如果兩個或多個線程中沒有同時使用單個數據庫連接,則SQLite可以安全地用於多個線程。
- 序列化。在序列化模式下,SQLite可以安全地由多個線程使用,沒有任何限制。
根據這些模式,我試圖使用序列化,我在多個任務之間共享單個連接。但我得到的錯誤爲「由於對象的當前狀態,操作無效」
我想這是由於跨任務共享單個連接。但按照序列化模式,我應該能夠共享連接,而不需要執行任何明確的鎖定或互斥鎖實現。 任何人都可以引導我如何在.NET應用程序中使用序列化模式?是否需要以某種方式提及連接字符串?
在此先感謝!
每個線程只使用一個連接。 –
但是這將是「多線程」線程模式。我不想在每次與SqliteDB交談時創建連接,因此需要進行「序列化」線程模式。 –
@CL。 System.Data.SQLite是否真的支持「序列化」線程模式? –