gpt4 book ai didi

java - 如果我从不使用 ThreadSafeClientConnManager 调用 closeExpiredConnections 会发生什么

转载 作者:行者123 更新时间:2023-11-29 09:16:42 26 4
gpt4 key购买 nike

我正在使用 ThreadSafeClientConnManager 在 Java 应用程序中进行多线程处理。我的 ThreadSafeClientConnManager 对象是静态的,因此它会一直保留到应用程序运行为止。

如果我从不调用 closeExpiredConnections()closeIdleConnections() 会发生什么?

从长远来看,它会使我的应用程序崩溃吗?

最佳答案

以下假设您使用当前 GA 版本的 httpcmponents-client 4.1.2。

从代码和 javadoc 来看,不会发生任何坏事。 ThreadSafeClientConnManager 有合理的限制。如果您没有向上更改限制,最终池将填满并且旧连接将被踢出。

不利的一面是您持有空闲和过期的连接,这些连接持有不需要的资源(文件句柄)和对象。但是同样,如果您没有更改默认值,这些资源的数量与可用资源相比是很小的:在 Linux 系统上总共有 1000 个可用的文件句柄中有 20 个。

简而言之:这不会使应用程序崩溃。

PS 这些库有可用的源代码,你应该自己看看会有什么后果。

关于java - 如果我从不使用 ThreadSafeClientConnManager 调用 closeExpiredConnections 会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8943617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com