java怎么用多线程解析大文件Excel

Magneto- 发布于 2020/11/25 22:57
阅读 572
收藏 1

比如我有个一个50M的Excel,共有十个字段,我怎么用启动三个线程,第一个线程解析字段1、字段2、字段3,第二个线程解析字段4、字段5、字段6,第三个线程解析字段7、字段8、字段9、字段10。

加载中
0
k
kingMH

先打开文件,读取到内存,然后多线程解析。多个线程同时读取同一个文件是没有意义的,不能提高性能,因为计算机磁盘的磁头只有一个。

Magneto-
Magneto-
读取到内存是啥意思?
isscy
isscy
为什么计算机只能有一个磁头啊 ,有多个的话会怎么样
0
练打字的
练打字的

行读取,堆积到N行扔给线程处理,主线程等待处理结果;

练打字的
练打字的
回复 @Magneto- : 类似
Magneto-
Magneto-
for(int i=0;i<100;i++){ if(i<50){ t1(); } if(i>50){ t2(); } } 是这个样吗?
0
kakai
kakai

poi可以解析excel大文件,流式加载解析,不会把整个文件加载进内存,是逐步进行的,用多线程毫无意义,你都能拿到一行数据了再去分解一行的各列就是浪费计算资源。

Magneto-
Magneto-
分解列不是要set对象的属性嘛
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部