我在system.data.sqlite.org上使用SQLite
我们需要从多个线程访问数据库(出于各种原因)。我已经阅读了很多关于sqlite线程安全功能的内容(默认的同步访问模式对我来说很好)。
我想知道是否可以简单地为每个线程打开一个连接。这样的事情可能吗?我真的不关心竞争条件(请求尚未插入的东西)。我只对每个线程使用一个SQLiteConnection
对象访问数据这一事实感兴趣。
答案 0 :(得分:6)
是。事实上,这是正确的方法,因为SQLite不是线程安全的(默认情况下。你可以使用某些选项进行线程安全编译)。并且只是为了确保它有效:SQLite正在一些小型网站中使用,所以多线程就在那里:)
答案 1 :(得分:5)
鉴于你为每个线程使用一个单独的连接,你应该没问题。
来自docs
请注意,SQLiteConnection实例不保证是线程 安全。您应该避免在几个中使用相同的 SQLiteConnection 线程同时。建议打开新连接 每个线程并在工作完成时关闭它。