java如何提升读取3万个txt效率
1给定一个list,里面的value为txt文件的路径,超过2万。2需要查找每个txt文件中的内容,在每个文件中的某一行,此处可以用正则表达式匹配疑难:循环list文件,...
1给定一个list,里面的value为txt文件的路径,超过2万。
2需要查找每个txt文件中的内容,在每个文件中的某一行,此处可以用正则表达式匹配
疑难:循环list文件,按行读取txt匹配,效率很低。
需求:如何提升效率,是否可以用多线程处理 展开
2需要查找每个txt文件中的内容,在每个文件中的某一行,此处可以用正则表达式匹配
疑难:循环list文件,按行读取txt匹配,效率很低。
需求:如何提升效率,是否可以用多线程处理 展开
1个回答
展开全部
多线程提升效率有限,因为多线程针对线程拥塞的情况,才会提升效率,因为拥塞后就会把cpu时间交给其他线程使用。但是你读的是本地文件,只要没有同时读一个文件,拥塞的时间基本很短,所以提升效率不会很明显。
可以试试java的 forkjoin框架,把2w个文件分割称若干个任务,每个任务处理若干个文件。由于forkjoin是利用cpu的多个内核进行并行运算的 应该能获得效率的提升。
可以试试java的 forkjoin框架,把2w个文件分割称若干个任务,每个任务处理若干个文件。由于forkjoin是利用cpu的多个内核进行并行运算的 应该能获得效率的提升。
追问
非常感谢,我是新手,没用过这个框架,能帮我这个写出来么,list文件和读txt代码已经实现,按照你的那个框架,不知道怎么去分割和处理任务,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询