首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中维护大量连接的最佳方法

在Java中维护大量连接的最佳方法
EN

Stack Overflow用户
提问于 2011-08-08 15:13:29
回答 1查看 222关注 0票数 0

我想知道哪个是在多线程应用程序中维护大量小型TCP连接的最佳解决方案,而不会在一段时间后锁定。

假设我们必须以多线程的方式访问大量的http网站(比如不同域名、服务器等上的~200000个)。that类最适合做最安全的连接(我的意思是最具抗锁性,不是多线程锁,而是TCP连接,它“不会对任何事情做出反应”)。HttpURLConnection & BufferedReader会在设置连接和读取超时的情况下执行此工作吗?当我使用简单解决方案时,我看到了这一点:

代码语言:javascript
复制
URL url = new URL( xurl );
BufferedReader in = new BufferedReader( new InputStreamReader( url.openStream() ) );

所有线程在2-3小时后都被锁定/死掉。

最好是让像10这样的常量线程一直运行,并请求url从主线程获取,或者更好地为每个url创建一个线程,然后以某种方式杀死它,如果它在一段时间后不响应?(如何杀伤子线程?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-08 15:25:45

好吧,如果是HTTP连接,我真的怀疑你能不能缓存它们。因为使HTTP连接保持活动状态不仅仅是在客户端,它还需要服务器端的支持。大多数情况下,服务器会在超时时间(在服务器中配置)后关闭连接。因此,请检查在服务器端配置的最大超时时间,以及您希望将连接缓存多长时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6978835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档