使用JAVA Thread在hsqldb中同时访问

时间:2014-01-16 12:59:07

标签: java multithreading hibernate hsqldb

我用多线程编写JAVA程序, 我有超过5000个线程,每个线程访问同一个表以插入或选择数据(不更新)。

我在Hibernate / Spring中使用HSQLDB(文件模式)。

我使用多线程的原因是为了减少执行时间,但是当时一个线程可以访问表。

我为多版本控制配置了hsqldb.tx=mvcc但任何更改 有人可以知道如何让多个线程同时访问同一个表吗?

2 个答案:

答案 0 :(得分:2)

使用多个线程从表中进行SELECT可以提高性能,因为线程可以同时访问同一个数据库表。

当多个线程对表执行INSERT时,数据库必须一次执行一个INSERT语句,因为可能存在必须在队列中检查的PRIMARY KEY或UNIQUE约束,以防止数据库中出现不一致。 / p>

在任何情况下,计算机都能够同时运行多个CPU核心的线程。如果您有更多线程,它们将由操作系统排队。

答案 1 :(得分:0)

我觉得HSQLDB文件模式,hsql模式和res模式不同时支持多线程或多用户连接。我还在检测执行同步任务所需的模式