java如何提升读取3万个txt效率

1给定一个list,里面的value为txt文件的路径,超过2万。
2需要查找每个txt文件中的内容,在每个文件中的某一行,此处可以用正则表达式匹配

疑难:循环list文件,按行读取txt匹配,效率很低。
需求:如何提升效率,是否可以用多线程处理

多线程提升效率有限,因为多线程针对线程拥塞的情况,才会提升效率,因为拥塞后就会把cpu时间交给其他线程使用。但是你读的是本地文件,只要没有同时读一个文件,拥塞的时间基本很短,所以提升效率不会很明显。

可以试试java的 forkjoin框架,把2w个文件分割称若干个任务,每个任务处理若干个文件。由于forkjoin是利用cpu的多个内核进行并行运算的 应该能获得效率的提升。追问

非常感谢,我是新手,没用过这个框架,能帮我这个写出来么,list文件和读txt代码已经实现,按照你的那个框架,不知道怎么去分割和处理任务,

温馨提示:答案为网友推荐,仅供参考
相似回答