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

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

疑难:循环list文件,按行读取txt匹配,效率很低。
需求:如何提升效率,是否可以用多线程处理
展开
 我来答
llei32wang
推荐于2016-06-28 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1408万
展开全部
多线程提升效率有限,因为多线程针对线程拥塞的情况,才会提升效率,因为拥塞后就会把cpu时间交给其他线程使用。但是你读的是本地文件,只要没有同时读一个文件,拥塞的时间基本很短,所以提升效率不会很明显。

可以试试java的 forkjoin框架,把2w个文件分割称若干个任务,每个任务处理若干个文件。由于forkjoin是利用cpu的多个内核进行并行运算的 应该能获得效率的提升。
追问
非常感谢,我是新手,没用过这个框架,能帮我这个写出来么,list文件和读txt代码已经实现,按照你的那个框架,不知道怎么去分割和处理任务,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式