【问题标题】:How to set threading mode in SQLite Java如何在 SQLite Java 中设置线程模式
【发布时间】:2017-06-16 12:53:44
【问题描述】:

我正在使用 SQLite DB,并且我有多个线程使用单个连接。 根据https://www.sqlite.org/threadsafe.html,我想我需要使用序列化模式。

如何在 Java 中设置线程模式?我是说方法?

SQLiteConfig config = new SQLiteConfig();
config.setOpenMode(SQLiteOpenMode.FULLMUTEX);
dbc = DriverManager.getConnection(jdbcPath,config.toProperties());

SQLiteOpen 模式和线程模式有什么关系吗?

SQLite 支持三种不同的线程模式:

单线程。在这种模式下,所有互斥锁都被禁用,SQLite 被禁用 一次在多个线程中使用是不安全的。

多线程。在这种模式下,SQLite 可以被多人安全使用 线程,前提是不使用单个数据库连接 同时在两个或多个线程中。

序列化。在序列化模式下,SQLite 可以被多人安全使用 线程没有限制。

【问题讨论】:

  • @tuxdna 该链接建议我在所有线程之间共享相同的 JDBC 连接,这就是我现在正在做的事情,但我想确保“线程模式设置为序列化”,怎么能我这样做?抱歉,如果我误解了答案链接,但我不确定如何设置线程模式?在Java中

标签: java multithreading sqlite


【解决方案1】:

来自您发布的链接:

默认模式为序列化。

如果您想明确选择序列化模式(或切换回它),请使用SQLiteOpenMode.FULLMUTEX,如文档中所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-07-24
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多