我正在尝试读取每行包含一个单词(不同长度)的大文件。 我想用多线程阅读它取决于字符串长度。
例如,第一个线程读取具有一个长度字的行,第二个线程读取两个长度并且......
有没有办法实现这个目标?如果是,那将如何影响表现?
我找到了这个例子,但我不能把它放在一起。
参考文献1:Multithread file reading
答案 0 :(得分:5)
您可以使用多个线程,但速度不会更快。要查找给定长度的所有行,您必须阅读所有其他行。
有没有办法实现这个目标?
阅读所有行并忽略您过滤掉的行。
你可以做的是在不同的线程中处理不同的行,但这取决于它对CPU的密集程度是否有帮助或更慢。
答案 1 :(得分:2)
在多线程模式下读取文件只能使事情变慢,因为磁盘驱动器必须在多个读取点之间移动磁头。相反,将计算工作从阅读线程转移到工作线程。