阿韬 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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信