多线程递归目录文件hasher

时间:2017-04-22 21:16:41

标签: c++ multithreading boost tree traversal

我刚刚完成了一个程序,它接受一个起始目录,检查所有子目录并在途中散列所有文件。我使用boost :: filesystem :: recursive_directory_iterator实现了这一点。

我现在正试图想出一种多线程来改善性能的方法。我有一些粗略的想法,并希望得到一些反馈。

  1. 找到第一组子目录并在线程之间拆分。如果一个线程在另一个线程之前完成,它可以通过任务窃取来帮助它。
  2. 一个线程(或多个)遍历所有目录,将所有文件添加到等待散列的任务队列,并由另一个线程输出到控制台。
  3. 这可能会导致程序比非线程版本慢,但我仍然想尝试一下,看看性能如何不同。

0 个答案:

没有答案