阿韬 2017-01-18 14:52 采纳率: 0%
浏览 2329
已结题

Java编程的多线程,如何实现更好一些?

写了一个网络爬虫程序,每隔10分钟,启动一次爬虫执行。

爬虫程序中,使用了多线程:爬虫程序使用10个线程的多线程,爬取一个指定页面的一些页面数据。 由于每隔10分钟,启动一次爬虫程序,因此,这10个线程就会每10分钟重新生成一次,每天从早晨8:00左右开始,运行了19:30左右时,便就会出现Memroy Overflow的再现。咨询一下大侠,出现如下的错误,有什么好的解决办法?

Exception in thread "Thread-690" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.(Unknown Source)
at org.apache.http.util.CharArrayBuffer.toString(CharArrayBuffer.java:461)
at org.apache.http.util.EntityUtils.toString(EntityUtils.java:236)
at org.apache.http.util.EntityUtils.toString(EntityUtils.java:257)
at com.cn.Spilder0721.DownloadBidEntity.getBidEntityFormUrl(DownloadBidEntity.java:102)
at com.cn.Spilder0721.BidDataHanding.dataHanding(BidDataHanding.java:23)
at com.cn.Spilder0721.BidDataHanding.run(BidDataHanding.java:33)

  • 写回答

10条回答 默认 最新

  • 海之沐 2017-01-18 15:19
    关注

    考虑用线程池,或者你要杀掉那些线程,而不是一直在生成线程。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料