首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多个具有相同连接池的OkHttp3客户端

创建多个具有相同连接池的OkHttp3客户端
EN

Stack Overflow用户
提问于 2016-01-12 18:44:54
回答 1查看 2.7K关注 0票数 2

我正在使用Retrofit2。我可以创建几个OkHttp3客户端并与其他客户端共享来自第一个实例的连接池吗?线程安全和良好的实践吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 15:12:14

实例化您的ConnectionPool并使用每个客户端的OkHttpClient.Builder,并使用connectionPool(ConnectionPool connectionPool)方法传递所有新的客户端实例。

ConnectionPool只用于重用连接,并且它是线程安全的。但是,您应该考虑OkHttp的自述文件中的这个片段:

不再存在全局单例连接池。在OkHttp 2.x中,默认情况下,所有OkHttpClient实例都共享一个公共连接池。在OkHttp 3.x中,每个新的OkHttpClient都有自己的专用连接池。应用程序应该避免创建许多连接池,因为这样做可以防止连接重用。每个连接池都拥有自己的一组活动连接,因此拥有许多池的应用程序也有耗尽内存的风险!

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

https://stackoverflow.com/questions/34751474

复制
相关文章

相似问题

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