okhttp关于okHttpClient.newCall(request).enqueue(callback)的问题
okHttpClient.newCall(request).enqueue(callback)
1.这句代码每次都会开启一个新的子线程吗,还是都在同一个子线程里面
2.如果有10个请求调用10次,那第10个请求是要等前面9个都执行完毕才能执行吗
3.okhttp如何设置最大连接数
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以 OkHttp3 代码为例,可以看到请求最终是由 Dispatcher 来分发的,其中有代码:
可以看到是有一个 executorService 也就是线程池来执行请求。线程池的构造代码如下:
可以看到最大线程数是 Integer.MAX_VALUE,并且 Keep Alive 60 秒。所以基本限制同时请求个数的参数在 Max Request 这个值上,这个值可以通过方法
Dispatcher.setMaxRequests
来设置。