20170819WindowsPrj01_03_文件扫描器

文件扫描器(四):

效率分析:

1:在按新的方式写的文件扫描器后,效率会有很大的提高,在我的计算机上搜索C盘的ntdll相关的文件是以下结果:
20170819WindowsPrj01_03_文件扫描器
    可以看出,多线程的效率相对会比递归版本的稍微快一点,这是因为C盘比较特殊,里面的绝大部分文件(90%)都存在于一个package文件夹里面,扫描这个文件夹只有一个线程,和递归的速度差不多,当我们扫描D盘或者其他盘符的时候,如果这个盘符里面文件非常多,文件夹也多,但是不存在一个文件夹含有非常多的文件,这时候,就可以看出,多线程版本的文件搜索会比递归快一些。
2:正常情况下,无论哪种情况,多线程版本都会比递归的要稍快。如果测试出来不是,那么可能是计算机开的软件较多等情况造成,可以多次测试取平均看看。

封装文件扫描器:

1:软件执行过程分析:在死循环里面不停地执行,拿数据,执行,没拿到,等待,当所有数据拿完之后,退出,最后做一些复位的操作。
2:类里面的方法是不可以作为线程的回调函数的,全局函数才可以成为线程函数。可以将回调函数做成静态函数,在类里面,是可以的。既不会与其他线程函数命名冲突,还可以当作回调函数使用。