gpt4 book ai didi

android - 构建OkHttpClient时如何设置并发请求数?

转载 作者:太空狗 更新时间:2023-10-29 13:03:03 45 4
gpt4 key购买 nike

背景

我正在构建一个 Retrofit 客户端。作为此客户端的一部分,我还在其中构建了一个 OkHttpClient。下面是我所说的代码:

public static final String BASE_URL = "https://api.darksky.net/forecast/<secret-key>/";
public static final OkHttpClient.Builder httpClient = new OkHttpClient.Builder().dispatcher()

private static Retrofit retrofit = null;

public static DarkSkyEndpoints getClient() {

if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
}

DarkSkyEndpoints endpoints = retrofit.create(DarkSkyEndpoints.class);
return endpoints;
}

我想要什么

我想构建一个一次只允许 1 个并发线程的 OkHttpClient。

我所知道的

  1. 我知道有一个方法叫做 dispatcher()可以链接到 OkHttpClient.Builder() 旁边,如上所示。

  2. 我知道 Dispatcher类有一个方法 setMaxRequests()这正是我想做的。

我不知道的事

Retrofit构建OkHttpClient时如何设置最大并发线程数?

最佳答案

您需要创建 Dispatcher 类的实例并将其传递给 dispatcher() 方法。尝试这样的事情:

Dispatcher dispatcher = new Dispatcher();
dispatcher.setMaxRequests(MAX_REQUESTS_NUMBER);
public static final OkHttpClient httpClient = new
OkHttpClient.Builder().dispatcher(dispatcher).build();
....
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build();

关于android - 构建OkHttpClient时如何设置并发请求数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52785707/

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