我有以下问题: 我有一个大的txt文件,我必须在其中找到特定的数据。
将文件分割为允许不同线程查看的最佳方法是什么?
应该通过计算新的线标记和设置之后的新线特定线程应该查找值吗?
任何提示都是无价的。
BR / T
答案 0 :(得分:0)
您可以尝试使用一个线程(只执行读取 - 如重复调用getline()或其他内容)将文件(或文件的足够大部分)映射到内存中,然后使用多个线程从您为文件分配的内存位置。你如何分割这取决于你 - 如果你正在寻找一个特定的角色,平等分裂应该完成这项工作。如果您正在搜索子字符串,那么您仍然可以平均分割,但随后搜索拆分索引附近(从索引 - 大小(子字符串)到索引+大小(子字符串)),您必须选择一个线程。 我绝不是专家,但我认为只做读取的线程会比磁盘快得多。我正在等待评论来证明我对错。 欢呼声。