【问题标题】:Is AndroidHttpClient thread safeAndroidHttpClient线程安全吗
【发布时间】:2012-06-21 14:51:04
【问题描述】:

我想知道AndroidHttpClient 线程是否安全,因为文档中没有提到这一点。这意味着,AndroidHttpClient 的单个实例可以在多个线程之间共享。

【问题讨论】:

    标签: java android androidhttpclient


    【解决方案1】:

    是的,它是线程安全的。

    AndroidHttpClientDefaultHttpClient 的一个特殊实现,它是为 Android 预先配置的。它注册了ThreadSafeClientConnManager,它允许通过托管连接池进行线程安全的HTTP访问。 AndroidHttpClient 还为超时和套接字缓冲区大小应用合理的默认设置。它也默认支持HTTPS。

    你可以找到源代码here

    【讨论】:

      【解决方案2】:

      根据代码它是线程安全的,因为它使用

      ClientConnectionManager manager =
                      new ThreadSafeClientConnManager(params, schemeRegistry);
      

      根据source

      唯一的缺点是它的 Api 级别 8 及以上 (2.2.x)

      【讨论】:

        【解决方案3】:

        是的,它是线程安全的。另外,一定要使用工厂方法:

        newInstance(String userAgent, Context context)
        

        将其与 HTTPS 一起使用以确保 SSL 会话的缓存。

        【讨论】:

          猜你喜欢
          • 2020-04-15
          • 2011-07-04
          • 2014-04-26
          • 2012-11-30
          • 2010-12-30
          • 2013-03-12
          • 2021-08-03
          • 2010-12-27
          • 2018-06-04
          相关资源
          最近更新 更多