在实际的应用中,我们的联网应用程序里应该有一个HttpClient,并将其用于所有的HTTP通信。这就可能在同一个Http Client同时发出多个请求,也就产生了多线程的问题。幸运的是,在HttpClient里提供了一些工具来简化了这一个任务。下面我们看看使用ThreadSafeClientConnManager来创建DefaultHttpClient private HttpClient createHttpClient(){ HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET); HttpProtocolParams.setUseExpectContinue(params, true); SchemeRegistry schReg = new SchemeRegistry(); schReg.register(new Scheme("http",PlainSocketFactory.getSocketFactory(),80)); schReg.register(new Scheme("https",PlainSocketFactory.getSocketFactory(),433)); ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params,schReg); return new DefaultHttpClient(conMgr,params); }; 这样就完成了多线程的HttpClient的创建