java - 我应该在多线程程序中使用连接池吗?

标签 java database multithreading database-connection connection-pooling

我正在使用多个线程在不同的表中插入插入记录。另外,我对记录的插入使用批处理来提高效率。

注意:要插入的记录数以百万为单位。

我的问题是我应该在这个多线程环境中使用连接池吗?

我的问题:

每个线程都会运行一段时间来执行数据库操作。所以,如果我的连接池的大小是 2,线程数是 4,那么在给定的时刻只有 2 个线程会运行。因此,其他 2 个线程将长时间处于理想状态以获取连接,因为百万条记录的数据库操作非常耗时。此外,这种连接池会阻碍使用多线程的目的。

最佳答案

批量使用连接池是为了方便。它将帮助您限制打开连接的数量、放弃时间、如果您忘记关闭连接则关闭连接验证连接是否打开等。

查看 Plain Ol' Java 示例 here

关于java - 我应该在多线程程序中使用连接池吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27055850/

相关文章:

java - log4j 无法使用我的 log4j.properties 进行初始化

java - ActionListener Java 问题

JavaFX 8 - 向 TreeTable 单元格添加组件

python - 如何从 Django 中的非默认数据库读取表数据?

c# - 静态初始化保证单例线程安全? (C#)

java - 为什么需要安装中间CA

mysql - MAMP PRO崩溃; MySQL将不会在重新启动时启动

php - 如何使用php将记录插入sql数据库上的多对多关系表?

c# - 将 GUI 值传递给 backgroundworker 的正确方法?

Java - 序列化一个线程