本帖最后由 sarahsss 于 2013-07-07 18:12:15 编辑

解决方案 »

  1.   

    WebPageAnalyzer形参分别什么意思?
    如楼主所说,是每条线程自己没有完成200条的分析任务的话,最好把分析逻辑代码贴出来,可能是那中间出现了条件中断,上面贴出来的代码只是接收分析任务的部分代码,无法准确判断原因。
      

  2.   

    WebPageAnalyzer(int start,int end,int index)     //构造多线程分析的起始结束的page
     {
     this.start=start;
     this.end=end;
     this.index= index;
     }形参 表示的是每个线程取pagelist的首位段。
    比如 线程1:pagelist 第0-200条
         线程2:pagelist 第200-400条
         线程3:pagelist 第400-600条
         线程4:pagelist 第600-800条
         线程5:pagelist 第800-1000条
      

  3.   

    为什么 都是在3,4天以后出这个bug?
      

  4.   


    这是我用 jstat -gcutil pid 得到的结果。p一直以0.02的比例增长
      

  5.   

    Executors.newCachedThreadPool();API中有这样的描述:"从缓存中移除那些已有 60 秒钟未被使用的线程"。
    很有嫌疑
      

  6.   

    我用Executors.newFixedThreadPool(5);也是同样的问题~
      

  7.   

    有时间的话,可以先把分析线程改成简单sleep,跑一段时间,看看是否一样