OKHttp
OkHttpClient
Request
Call
RealCall implement Call 是真正的
call.enqueue() 中有判断,同一个请求只能执行一次
Response
主线流程

线程池
public synchronized ExecutorService executorService() {
if (executorService == null) {
executorService = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60, TimeUnit.SECONDS,
new SynchronousQueue<Runnable>(), Util.threadFactory("OkHttp Dispatcher", false));
}
return executorService;
}
OkHttp中使用了缓存线程池,0核心线程,60秒缓存,并发控制依赖于Dispatcher中的最大请求数量控制
拦截器

本文深入探讨了OkHttp的内部机制,重点讲解了其线程池的实现,包括0核心线程、60秒超时和SynchronousQueue的配置。此外,还介绍了OkHttp的拦截器体系,如何通过拦截器实现请求和响应的定制。同时,提到了RealCall的实现,确保每个请求只能执行一次。了解这些细节有助于优化网络请求的性能和管理。
1万+

被折叠的 条评论
为什么被折叠?



