2017-04-16 22 views
-4

我需要使用Java从.text文件加载大尺寸数据。但由于文件非常大,我想使用多线程进行此操作。 你能帮我解答吗?使用Java中的Multithread从.text文件导入数据

谢谢

+0

欢迎来到StackOverflow!你可能想阅读[提出好问题](http://stackoverflow.com/help/how-to-ask),因为这个问题太广泛而无法回答。 – ldz

+0

不仅它太广泛,它也没有显示任何研究努力 - 这是对SO的一个好问题的要求。 –

+0

标记为删除。太宽泛。 –

回答

1

这不可能产生您期望的性能优势。从磁盘读取是检索数据,将其存储在内存中以及在CPU上处理信息的链中最慢的操作。在同一个磁盘上从两个或多个并发进程获取同一文件中的数据几乎肯定会比单个线程从头到尾的读取速度慢。

同样,多线程将CPU抽象为并发线程。如果CPU不是应用程序的瓶颈,那么并发将是一个令人困惑和无益的噩梦。

不过,既然你问: - 您可以使用多个文件,或 分割你的数据 - 你或许可以分而治之的同时输入数据,如果它的部分需要大量的处理。例如,如果每行输入文本需要昂贵的解析操作,那么您应该能够将它们全部读入数组,然后并行地解析数组的各个部分。