OKHTTP Singleton对象,用于处理多线程系统中的不同API调用



我有一个多线程应用程序,它有多个不同的API调用,用于不同的目的。我的问题是,如果我制作一个OKHTTP的单例对象,并且多个线程试图同时使用不同的端点进行API调用,这会不会给我带来任何问题?还是应该将singleton对象用于相同的端点?

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

https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/#okhttpclients-应共享

OkHttpClients应共享

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

最新更新