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

时间:2014-11-21 07:01:56

标签: java database multithreading database-connection connection-pooling

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

注意:要插入的记录数以百万计。

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

我的关注:

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

1 个答案:

答案 0 :(得分:1)

批量使用连接池是一个方便的问题。如果您忘记关闭它们,它将帮助您限制打开的连接数量,放弃的时间,关闭连接,验证连接是否打开等。

查看Plain Ol' Java示例here