写了一个测试 小程序, 多线程 搜索 所有文件;就是 最简单的,每遇到一个 文件夹就开启一个新的线程,所有文件夹下面的文件都放到 LinkedBlockingQueue;感觉 这比 单线程 还慢,在本机测试最多的时候有500多个线程在工作;这个方法可不可取,有没有好点的?我觉得主要还是线程启动条件的设置,暂时没有想出更好的大家给点建议

解决方案 »

  1.   

    可以考虑用线程池,没遇到一个文件夹就new 一个Runnable,提交给线程池来运行
    然后调整线程池中线程的数量,看下运行速度
      

  2.   

    推荐——至今网络推荐最多的介绍线程的第一牛人 axman
    http://blog.csdn.net/axman/category/64977.aspxLZ的问题也许可以用这种模式解决
    http://blog.csdn.net/axman/archive/2005/07/22/431801.aspx
      

  3.   

    使用了线程池后 发现 getLargestPoolSize 最大值达到1300多,上文500多是 procress explorer的数据,看来不准确,速度表面看提高了,得再做测试