【问题标题】:OKHTTP Singleton object to handle different API calls in a multi-threaded systemOKHTTP Singleton 对象在多线程系统中处理不同的 API 调用
【发布时间】:2021-12-19 07:38:25
【问题描述】:

我有一个多线程应用程序,它有多个用于不同目的的不同 API 调用。我的问题是,如果我创建一个 OKHTTP 的单例对象并且多个线程尝试同时使用不同的端点进行 API 调用,它会不会对我造成任何问题? 还是应该将单例对象用于相同的端点?

【问题讨论】:

    标签: java multithreading api rest okhttp


    【解决方案1】:

    OkHttpClient 对象可以安全地并发使用。这正是你应该做的。

    https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/#okhttpclients-should-be-shared

    应该共享 OkHttpClients

    当您创建单个 OkHttpClient 实例并将其重用于所有 HTTP 调用时,OkHttp 性能最佳。这是因为每个客户端都拥有自己的连接池和线程池。重用连接和线程可减少延迟并节省内存。相反,为每个请求创建一个客户端会浪费空闲池上的资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-17
      • 2020-05-29
      • 2015-10-01
      • 2012-10-11
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      相关资源
      最近更新 更多