【发布时间】: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