最近工作需要处理20W的数据,用单线程去请求接口(具体这个接口干啥不重要),处理了大概30多个小时。由于出了点原因,这个20W数据需要重新跑,如果在跑30个小时,那也太浪费时间了。我们把单线程换成了多线程,然后程序跑了几个小时后,忽然就不继续处理了。这是为什么?
首先来看下多线程处理的流程:
在来看下:httpClient请求工具方法:
public static String sendGetRequest(String reqURL, String decodeCharset) throws IOException {
long responseLength = 0; // 响应长度
String responseContent = null; // 响应内容
HttpClient httpClient = new DefaultHttpClient(); // 创建默认的httpClient实例
HttpGet httpGet = new