【发布时间】:2013-03-07 02:51:18
【问题描述】:
这是我的脚本的作用:
它逐行解析包含 2700 万行的文档。我对每一行进行解析,然后将必要的信息插入到数据库表中(使用 JDBC)。
问题是,preparedStatement.executeUpdate() 方法不是异步的,所以它一直等到它返回,这就是我的瓶颈所在。解析2700万行大约需要2天:(
由于 JDBC 没有异步支持,我想将每个 executeUpdate() 调用包装在一个线程中。我应该每次都创建一个新线程吗?或者我应该使用线程池,我应该如何创建该线程池?
我担心由于解析行几乎不需要任何时间,线程池中等待的活动任务的数量将超过可用线程的数量,它会回到线性,瓶颈是任务等待打开的线程。
谢谢
【问题讨论】:
标签: java mysql multithreading jdbc