我编写了一个使用25个不同线程的java应用程序,每个线程都是一个无限循环,其中发送了一个http请求,并处理了返回的json对象(小的一个)。至关重要的是,特定线程发送的两个请求之间的时间小于500毫秒。但是,我对我的程序做了一些基准测试,时间超过1000毫秒。所以我的问题是:除了创建多个线程之外,还有更好的方法来处理多个连接吗? 我迫切需要帮助,所以我很感谢您的任何建议!
PS:我有一个不错的互联网连接(我对请求的目标服务器的ping大约是120ms)。
答案 0 :(得分:2)
我建议查看Apache HttpClient:
具体来说,您将对构建具有池连接管理器的客户端感兴趣。然后,您可以利用相同的客户端。
PoolingClientConnectionManager connectionManager = new PoolingClientConnectionManager();
connectionManager.setMaxTotal(number);
HttpClient client = new DefaultHttpClient(connectionManager);
以下是处理您的用例的具体示例: