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