我要做一个程序,用遍历的方法找出整个硬盘内的十来种类型的文件。问一下大虾们,线程方面我该怎么弄?怎么设计线程效率比效高?还有文件类型的筛选方面,怎么样的算法比较好?也可能没什么算法,至少我没想到。

解决方案 »

  1.   

    线程方面,不是越多越好.  线程多了, 在线程切换时会引起硬盘的磁头来回切换, 反而影响速度.
    有一个工作线程进行查找就可以了...文件类型的筛选,使用CFileFind,不需要自己去整什么算法...
      

  2.   

    同意一楼,磁盘IO顺序访问效率比较高,这部分只建议一个线程。
    关于数据过滤处理、UI消息响应等,倒可以考虑多线程。
      

  3.   

    谢谢大家的回答,我很满意。但是我还有一个问题:
    遍历文件夹不是用的CFileFind递归找*.*吗
    还是用其他的什么好些?(我刚找到一个实例,刚刚看了一下,好像不是用CFileFind递归查找的)
    现在我只会CFileFind找到文件然后再自己筛选,
    听大家说,筛选文件用CFileFind类,但是我知道设置*.txt之类的只能找到一种文件,而我要筛选后得到的有十来种文件类型,这个真的能用吗?如果能,谁能给段代码提示下?
      

  4.   


    结贴了
    谢谢大家的回答
    arong1234的分就不分两次给了